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

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

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

revision 1340 by jonathan, Tue Jul 1 16:10:25 2003 UTC revision 1430 by jonathan, Wed Jul 16 13:23:28 2003 UTC
# Line 22  from Thuban.Model.layer import Layer, Ra Line 22  from Thuban.Model.layer import Layer, Ra
22  from Thuban.Model.classification import \  from Thuban.Model.classification import \
23      ClassGroupDefault, ClassGroupSingleton, ClassGroupRange, ClassGroupMap      ClassGroupDefault, ClassGroupSingleton, ClassGroupRange, ClassGroupMap
24  from Thuban.Model.transientdb import AutoTransientTable, TransientJoinedTable  from Thuban.Model.transientdb import AutoTransientTable, TransientJoinedTable
25  from Thuban.Model.table import DBFTable  from Thuban.Model.table import DBFTable, FIELDTYPE_STRING
26  from Thuban.Model.data import DerivedShapeStore, ShapefileStore  from Thuban.Model.data import DerivedShapeStore, ShapefileStore
27    
28  from Thuban.Model.xmlwriter import XMLWriter  from Thuban.Model.xmlwriter import XMLWriter
# Line 105  class SessionSaver(XMLWriter): Line 105  class SessionSaver(XMLWriter):
105      def write(self, file_or_filename):      def write(self, file_or_filename):
106          XMLWriter.write(self, file_or_filename)          XMLWriter.write(self, file_or_filename)
107    
108          self.write_header("session", "thuban-0.8.dtd")          self.write_header("session", "thuban-0.9.dtd")
109          self.write_session(self.session)          self.write_session(self.session)
110          self.close()          self.close()
111    
# Line 132  class SessionSaver(XMLWriter): Line 132  class SessionSaver(XMLWriter):
132              attrs["xmlns:" + name] = uri              attrs["xmlns:" + name] = uri
133          # default name space          # default name space
134          attrs["xmlns"] = \          attrs["xmlns"] = \
135                 "http://thuban.intevation.org/dtds/thuban-0.8.dtd"                 "http://thuban.intevation.org/dtds/thuban-0.9-dev.dtd"
136          self.open_element("session", attrs)          self.open_element("session", attrs)
137          self.write_data_containers(session)          self.write_data_containers(session)
138          for map in session.Maps():          for map in session.Maps():
# Line 183  class SessionSaver(XMLWriter): Line 183  class SessionSaver(XMLWriter):
183                                      "right": self.get_id(right),                                      "right": self.get_id(right),
184                                      "rightcolumn": right_field,                                      "rightcolumn": right_field,
185                                      "left": self.get_id(left),                                      "left": self.get_id(left),
186                                      "leftcolumn": left_field})                                      "leftcolumn": left_field,
187                                        "jointype": container.JoinType()})
188              else:              else:
189                  raise ValueError("Can't handle container %r" % container)                  raise ValueError("Can't handle container %r" % container)
190    
# Line 253  class SessionSaver(XMLWriter): Line 254  class SessionSaver(XMLWriter):
254    
255          lc = layer.GetClassification()          lc = layer.GetClassification()
256    
257          field = lc.GetField()          field = layer.GetClassificationField()
258    
259          #          #
260          # there isn't a classification of anything so do nothing          # there isn't a classification of anything so do nothing
# Line 261  class SessionSaver(XMLWriter): Line 262  class SessionSaver(XMLWriter):
262          if field is None: return          if field is None: return
263    
264          attrs["field"] = field          attrs["field"] = field
265          attrs["field_type"] = str(lc.GetFieldType())          attrs["field_type"] = str(layer.GetFieldType(field))
266          self.open_element("classification", attrs)          self.open_element("classification", attrs)
267    
268          for g in lc:          for g in lc:
269              if isinstance(g, ClassGroupDefault):              if isinstance(g, ClassGroupDefault):
270                  open_el  = 'clnull label="%s"' % self.encode(g.GetLabel())                  open_el  = 'clnull label="%s"' % self.encode(g.GetLabel())
271                  close_el = 'clnull'                  close_el = 'clnull'
272              elif isinstance(g, ClassGroupSingleton):              elif isinstance(g, ClassGroupSingleton):
273                    if layer.GetFieldType(field) == FIELDTYPE_STRING:
274                        value = self.encode(g.GetValue())
275                    else:
276                        value = str(g.GetValue())
277                  open_el  = 'clpoint label="%s" value="%s"' \                  open_el  = 'clpoint label="%s" value="%s"' \
278                             % (self.encode(g.GetLabel()), str(g.GetValue()))                             % (self.encode(g.GetLabel()), value)
279                  close_el = 'clpoint'                  close_el = 'clpoint'
280              elif isinstance(g, ClassGroupRange):              elif isinstance(g, ClassGroupRange):
281                  open_el  = 'clrange label="%s" range="%s"' \                  open_el  = 'clrange label="%s" range="%s"' \

Legend:
Removed from v.1340  
changed lines
  Added in v.1430

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26