/[thuban]/branches/WIP-pyshapelib-bramz/Thuban/Model/load.py
ViewVC logotype

Diff of /branches/WIP-pyshapelib-bramz/Thuban/Model/load.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 465 by jonathan, Wed Mar 5 18:18:06 2003 UTC revision 526 by jonathan, Wed Mar 12 19:17:49 2003 UTC
# Line 17  import sys, string, os Line 17  import sys, string, os
17    
18  import xml.sax  import xml.sax
19  import xml.sax.handler  import xml.sax.handler
20  from xml.sax import make_parser, ErrorHandler  from xml.sax import make_parser, ErrorHandler, SAXNotRecognizedException
21    
22  from Thuban import _  from Thuban import _
23  from Thuban.common import *  from Thuban.common import *
24    
25    from Thuban.Model.table import FIELDTYPE_INT, FIELDTYPE_DOUBLE, \
26         FIELDTYPE_STRING
27    
28  from Thuban.Model.session import Session  from Thuban.Model.session import Session
29  from Thuban.Model.map import Map  from Thuban.Model.map import Map
30  from Thuban.Model.layer import Layer  from Thuban.Model.layer import Layer
# Line 253  class ProcessSession(xml.sax.handler.Con Line 256  class ProcessSession(xml.sax.handler.Con
256      end_dispatcher['cldata'] = "end_cldata"      end_dispatcher['cldata'] = "end_cldata"
257    
258      def start_table(self, name, qname, attrs):      def start_table(self, name, qname, attrs):
259          print "table title: %s" % attrs.get('title', None)          #print "table title: %s" % attrs.get('title', None)
260            pass
261      start_dispatcher['table'] = "start_table"      start_dispatcher['table'] = "start_table"
262    
263      def end_table(self, name, qname):      def end_table(self, name, qname):
# Line 287  def load_session(filename): Line 291  def load_session(filename):
291      parser.setContentHandler(handler)      parser.setContentHandler(handler)
292      parser.setErrorHandler(ErrorHandler())      parser.setErrorHandler(ErrorHandler())
293      parser.setFeature(xml.sax.handler.feature_namespaces, 1)      parser.setFeature(xml.sax.handler.feature_namespaces, 1)
294    
295        #
296        # Well, this isn't pretty, but it appears that if you
297        # use Python 2.2 without the site-package _xmlplus then
298        # the following will fail, and without them it will work.
299        # However, if you do have the site-package and you don't
300        # call these functions, the reader raises an exception
301        #
302        # The reason we set these to 0 in the first place is
303        # because there is an unresolved issue with external
304        # entities causing an exception in the reader
305        #
306        try:
307            parser.setFeature(xml.sax.handler.feature_validation, 0)
308            parser.setFeature(xml.sax.handler.feature_external_ges, 0)
309            parser.setFeature(xml.sax.handler.feature_external_pes, 0)
310        except SAXNotRecognizedException:
311            pass
312    
313      parser.parse(file)      parser.parse(file)
314    
315      session = handler.theSession      session = handler.theSession

Legend:
Removed from v.465  
changed lines
  Added in v.526

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26