/[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 1930 by bh, Tue Nov 11 13:24:41 2003 UTC revision 2036 by bh, Mon Dec 22 17:49:43 2003 UTC
# Line 143  class SessionLoader(XMLReader): Line 143  class SessionLoader(XMLReader):
143          for xmlns in ("http://thuban.intevation.org/dtds/thuban-0.8.dtd",          for xmlns in ("http://thuban.intevation.org/dtds/thuban-0.8.dtd",
144                        "http://thuban.intevation.org/dtds/thuban-0.9-dev.dtd",                        "http://thuban.intevation.org/dtds/thuban-0.9-dev.dtd",
145                        "http://thuban.intevation.org/dtds/thuban-0.9.dtd",                        "http://thuban.intevation.org/dtds/thuban-0.9.dtd",
146                        "http://thuban.intevation.org/dtds/thuban-1.0-dev.dtd"):                        "http://thuban.intevation.org/dtds/thuban-1.0-dev.dtd",
147                          "http://thuban.intevation.org/dtds/thuban-1.0rc1.dtd",
148                          "http://thuban.intevation.org/dtds/thuban-1.0.0.dtd"):
149              for key, value in dispatchers.items():              for key, value in dispatchers.items():
150                  dispatchers[(xmlns, key)] = value                  dispatchers[(xmlns, key)] = value
151    
# Line 186  class SessionLoader(XMLReader): Line 188  class SessionLoader(XMLReader):
188          If the attribute has a default value and it is not present in          If the attribute has a default value and it is not present in
189          attrs, use that default value as the value in the returned dict.          attrs, use that default value as the value in the returned dict.
190    
191          If a conversion is specified, convert the value before putting          The value is converted before putting it into the returned dict.
192          it into the returned dict. The following conversions are          The following conversions are available:
         available:  
193    
194             'filename' -- The attribute is a filename.             'filename' -- The attribute is a filename.
195    
# Line 212  class SessionLoader(XMLReader): Line 213  class SessionLoader(XMLReader):
213                        ascii encoding.                        ascii encoding.
214    
215             a callable -- The attribute value is passed to the callable             a callable -- The attribute value is passed to the callable
216                           and the return value is used a as the converted                           and the return value is used as the converted
217                           value                           value
218    
219            If no conversion is specified for an attribute it is converted
220            with self.encode.
221          """          """
222          normalized = {}          normalized = {}
223    
# Line 247  class SessionLoader(XMLReader): Line 251  class SessionLoader(XMLReader):
251              elif d.conversion:              elif d.conversion:
252                  # Assume it's a callable                  # Assume it's a callable
253                  value = d.conversion(value)                  value = d.conversion(value)
254                else:
255                   value = self.encode(value)
256    
257              normalized[d.name] = value              normalized[d.name] = value
258          return normalized          return normalized
# Line 446  class SessionLoader(XMLReader): Line 452  class SessionLoader(XMLReader):
452          self.aLayer = None          self.aLayer = None
453    
454      def start_classification(self, name, qname, attrs):      def start_classification(self, name, qname, attrs):
455          field = attrs.get((None, 'field'), None)          attrs = self.check_attrs(name, attrs,
456                                     [AttrDesc("field", True),
457                                      AttrDesc("field_type", True)])
458            field = attrs["field"]
459            fieldType = attrs["field_type"]
460    
         fieldType = attrs.get((None, 'field_type'), None)  
461          dbFieldType = self.aLayer.GetFieldType(field)          dbFieldType = self.aLayer.GetFieldType(field)
462    
463          if fieldType != dbFieldType:          if fieldType != dbFieldType:
# Line 538  class SessionLoader(XMLReader): Line 547  class SessionLoader(XMLReader):
547          self.aLayer = self.aMap.LabelLayer()          self.aLayer = self.aMap.LabelLayer()
548    
549      def start_label(self, name, qname, attrs):      def start_label(self, name, qname, attrs):
550          x = float(attrs[(None, 'x')])          attrs = self.check_attrs(name, attrs,
551          y = float(attrs[(None, 'y')])                                   [AttrDesc("x", True, conversion = float),
552          text = self.encode(attrs[(None, 'text')])                                    AttrDesc("y", True, conversion = float),
553          halign = attrs[(None, 'halign')]                                    AttrDesc("text", True),
554          valign = attrs[(None, 'valign')]                                    AttrDesc("halign", True,
555                                               conversion = "ascii"),
556                                      AttrDesc("valign", True,
557                                               conversion = "ascii")])
558            x = attrs['x']
559            y = attrs['y']
560            text = attrs['text']
561            halign = attrs['halign']
562            valign = attrs['valign']
563            if halign not in ("left", "center", "right"):
564                raise LoadError("Unsupported halign value %r" % halign)
565            if valign not in ("top", "center", "bottom"):
566                raise LoadError("Unsupported valign value %r" % valign)
567          self.aLayer.AddLabel(x, y, text, halign = halign, valign = valign)          self.aLayer.AddLabel(x, y, text, halign = halign, valign = valign)
568    
569      def characters(self, chars):      def characters(self, chars):

Legend:
Removed from v.1930  
changed lines
  Added in v.2036

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26