/[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 744 by jonathan, Fri Apr 25 10:26:35 2003 UTC revision 772 by jonathan, Tue Apr 29 14:34:11 2003 UTC
# Line 76  class XMLReader(xml.sax.handler.ContentH Line 76  class XMLReader(xml.sax.handler.ContentH
76    
77      def __init__(self):      def __init__(self):
78          self.chars = ''          self.chars = ''
         self.__parser = None  
79          self.__directory = ""          self.__directory = ""
80          self.__dispatchers = {}          self.__dispatchers = {}
81    
# Line 91  class XMLReader(xml.sax.handler.ContentH Line 90  class XMLReader(xml.sax.handler.ContentH
90              self.__directory = os.path.dirname(filename)              self.__directory = os.path.dirname(filename)
91              self.__file = open(filename)              self.__file = open(filename)
92    
93          if self.__parser is None:          parser = make_parser()
94              self.__parser = make_parser()          parser.setContentHandler(self)
95              self.__parser.setContentHandler(self)          parser.setErrorHandler(ErrorHandler())
96              self.__parser.setErrorHandler(ErrorHandler())          parser.setFeature(xml.sax.handler.feature_namespaces, 1)
97              self.__parser.setFeature(xml.sax.handler.feature_namespaces, 1)  
98            #
99              #          # Well, this isn't pretty, but it appears that if you
100              # Well, this isn't pretty, but it appears that if you          # use Python 2.2 without the site-package _xmlplus then
101              # use Python 2.2 without the site-package _xmlplus then          # the following will fail, and without them it will work.
102              # the following will fail, and without them it will work.          # However, if you do have the site-package and you don't
103              # However, if you do have the site-package and you don't          # call these functions, the reader raises an exception
104              # call these functions, the reader raises an exception          #
105              #          # The reason we set these to 0 in the first place is
106              # The reason we set these to 0 in the first place is          # because there is an unresolved issue with external
107              # because there is an unresolved issue with external          # entities causing an exception in the reader
108              # entities causing an exception in the reader          #
109              #          try:
110              try:              parser.setFeature(xml.sax.handler.feature_validation,0)
111                  self.__parser.setFeature(xml.sax.handler.feature_validation,0)              parser.setFeature(xml.sax.handler.feature_external_ges,0)
112                  self.__parser.setFeature(xml.sax.handler.feature_external_ges,0)              parser.setFeature(xml.sax.handler.feature_external_pes,0)
113                  self.__parser.setFeature(xml.sax.handler.feature_external_pes,0)          except SAXNotRecognizedException:
114              except SAXNotRecognizedException:              pass
                 pass  
115    
116          self.__parser.parse(self.__file)          parser.parse(self.__file)
117    
118          self.close()          self.close()
119    
# Line 230  class SessionLoader(XMLReader): Line 228  class SessionLoader(XMLReader):
228          title = attrs.get((None, 'title'), "")          title = attrs.get((None, 'title'), "")
229          filename = attrs.get((None, 'filename'), "")          filename = attrs.get((None, 'filename'), "")
230          filename = os.path.join(self.GetDirectory(), filename)          filename = os.path.join(self.GetDirectory(), filename)
231            visible  = attrs.get((None, 'visible'), "true")
232          fill = parse_color(attrs.get((None, 'fill'), "None"))          fill = parse_color(attrs.get((None, 'fill'), "None"))
233          stroke = parse_color(attrs.get((None, 'stroke'), "#000000"))          stroke = parse_color(attrs.get((None, 'stroke'), "#000000"))
234          stroke_width = int(attrs.get((None, 'stroke_width'), "1"))          stroke_width = int(attrs.get((None, 'stroke_width'), "1"))
235          self.aLayer = layer_class(title,          self.aLayer = layer_class(title,
236                                    self.theSession.OpenShapefile(filename),                                    self.theSession.OpenShapefile(filename),
237                                    fill = fill, stroke = stroke,                                    fill = fill, stroke = stroke,
238                                    lineWidth = stroke_width)                                    lineWidth = stroke_width,
239                                      visible = visible != "false")
240    
241          self.__projReceiver = self.aLayer          self.__projReceiver = self.aLayer
242    

Legend:
Removed from v.744  
changed lines
  Added in v.772

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26