/[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 697 by jonathan, Wed Apr 16 16:40:07 2003 UTC revision 773 by jonathan, Tue Apr 29 14:34:23 2003 UTC
# Line 52  def escape(data): Line 52  def escape(data):
52      data = string.replace(data, "'", "'")      data = string.replace(data, "'", "'")
53      return data      return data
54    
55  class XMLSaver:  class XMLWriter:
56      """Abstract XMLSaver.      """Abstract XMLWriter.
57    
58      Should be overridden to provide specific object saving functionality.      Should be overridden to provide specific object saving functionality.
59      """      """
# Line 141  class XMLSaver: Line 141  class XMLSaver:
141          for name, value in attrs.items():          for name, value in attrs.items():
142              self.file.write(' %s="%s"' % (escape(name), escape(value)))              self.file.write(' %s="%s"' % (escape(name), escape(value)))
143            
144  class SessionSaver(XMLSaver):  class SessionSaver(XMLWriter):
145    
146      """Class to serialize a session into an XML file.      """Class to serialize a session into an XML file.
147    
# Line 155  class SessionSaver(XMLSaver): Line 155  class SessionSaver(XMLSaver):
155    
156    
157      def __init__(self, session):      def __init__(self, session):
158          XMLSaver.__init__(self)          XMLWriter.__init__(self)
159          self.session = session          self.session = session
160    
161      def write(self, file_or_filename):      def write(self, file_or_filename):
162          XMLSaver.write(self, file_or_filename)          XMLWriter.write(self, file_or_filename)
163    
164          self.write_header("session", "thuban.dtd")          self.write_header("session", "thuban.dtd")
165          self.write_session(self.session)          self.write_session(self.session)
# Line 210  class SessionSaver(XMLSaver): Line 210  class SessionSaver(XMLSaver):
210          """Write the projection.          """Write the projection.
211          """          """
212          if projection and len(projection.params) > 0:          if projection and len(projection.params) > 0:
213              self.open_element("projection")              self.open_element("projection",
214                                  {"name": escape(projection.GetName())})
215              for param in projection.params:              for param in projection.params:
216                  self.write_element('parameter value="%s"' % escape(param))                  self.write_element('parameter value="%s"' % escape(param))
217              self.close_element("projection")              self.close_element("projection")
# Line 232  class SessionSaver(XMLSaver): Line 233  class SessionSaver(XMLSaver):
233          attrs["stroke"]       = lc.GetDefaultLineColor().hex()          attrs["stroke"]       = lc.GetDefaultLineColor().hex()
234          attrs["stroke_width"] = str(lc.GetDefaultLineWidth())          attrs["stroke_width"] = str(lc.GetDefaultLineWidth())
235          attrs["fill"]         = lc.GetDefaultFill().hex()          attrs["fill"]         = lc.GetDefaultFill().hex()
236            attrs["visible"]      = ("false", "true")[int(layer.Visible())]
237    
238          self.open_element("layer", attrs)          self.open_element("layer", attrs)
239    
240            proj = layer.GetProjection()
241            if proj is not None:
242                self.write_projection(proj)
243    
244          self.write_classification(layer)          self.write_classification(layer)
245    
246          self.close_element("layer")          self.close_element("layer")
247    
248      def write_classification(self, layer, attrs = None):      def write_classification(self, layer, attrs = None):

Legend:
Removed from v.697  
changed lines
  Added in v.773

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26