/[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 1268 by bh, Fri Jun 20 16:10:12 2003 UTC revision 1430 by jonathan, Wed Jul 16 13:23:28 2003 UTC
# Line 17  import os Line 17  import os
17    
18  import Thuban.Lib.fileutil  import Thuban.Lib.fileutil
19    
 from Thuban.Model.color import Color  
20  from Thuban.Model.layer import Layer, RasterLayer  from Thuban.Model.layer import Layer, RasterLayer
21    
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 106  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 133  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 184  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 254  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 262  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.1268  
changed lines
  Added in v.1430

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26