/[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 2446 by frank, Mon Dec 13 11:52:34 2004 UTC revision 2642 by bh, Fri Jul 1 20:49:04 2005 UTC
# Line 1  Line 1 
1  # Copyright (C) 2001, 2002, 2003, 2004 by Intevation GmbH  # Copyright (C) 2001, 2002, 2003, 2004, 2005 by Intevation GmbH
2  # Authors:  # Authors:
3  # Jan-Oliver Wagner <[email protected]>  # Jan-Oliver Wagner <[email protected]>
4  # Bernhard Herzog <[email protected]>  # Bernhard Herzog <[email protected]>
# Line 248  class SessionLoader(XMLReader): Line 248  class SessionLoader(XMLReader):
248                                      % (element, d.name))                                      % (element, d.name))
249              elif d.conversion == "filename":              elif d.conversion == "filename":
250                  value = os.path.abspath(os.path.join(self.GetDirectory(),                  value = os.path.abspath(os.path.join(self.GetDirectory(),
251                                                       value))                                                       self.encode(value)))
252              elif d.conversion == "ascii":              elif d.conversion == "ascii":
253                  value = value.encode("ascii")                  value = value.encode("ascii")
254              elif d.conversion:              elif d.conversion:
# Line 261  class SessionLoader(XMLReader): Line 261  class SessionLoader(XMLReader):
261          return normalized          return normalized
262    
263      def open_shapefile(self, filename):      def open_shapefile(self, filename):
264          """Open shapefile, eventually with alternative path."""          """Open shapefile, with alternative path handling.
265            
266               If a shapefile cannot be opened and an IOError is raised, check for
267               an alternative. This alternative can be specified interactively by
268               the user or taken from a list of (potential) locations, depending on
269               the callback implementation.
270                
271               The alternative is rechecked. If taken from a list the user
272               has to confirm the alternative.
273            """
274    
275            # Flag if the alternative path was specified interactively / from list.
276          from_list = 0          from_list = 0
277          while 1:          while 1:
278              try:              try:
279                  store = self.theSession.OpenShapefile(filename)                  store = self.theSession.OpenShapefile(filename)
280                  if from_list:                  if from_list:
281                      # The correct? path has been guessed from a list                      # A valid path has been guessed from a list
282                      # Let the user confirm - or select an alternative.                      # Let the user confirm - or select an alternative.
283                      filename, from_list = self.shapefile_callback(                      filename, from_list = self.shapefile_callback(
284                                              filename, "check")                                              filename, "check")
# Line 290  class SessionLoader(XMLReader): Line 301  class SessionLoader(XMLReader):
301                                              second_try = from_list)                                              second_try = from_list)
302                      if filename is None:                      if filename is None:
303                          raise LoadCancelled                          raise LoadCancelled
                     print filename  
304                  else:                  else:
305                      raise                      raise
306          return store          return store
# Line 498  class SessionLoader(XMLReader): Line 508  class SessionLoader(XMLReader):
508          filename = os.path.join(self.GetDirectory(), filename)          filename = os.path.join(self.GetDirectory(), filename)
509          filename = self.encode(filename)          filename = self.encode(filename)
510          visible  = self.encode(attrs.get((None, 'visible'), "true")) != "false"          visible  = self.encode(attrs.get((None, 'visible'), "true")) != "false"
511            opacity  = float(attrs.get((None, 'opacity'), "1"))
512            masktype = str(attrs.get((None, 'masktype'), "bit"))
513    
514          self.aLayer = layer_class(title, filename, visible = visible)          masktypes = {"none": layer_class.MASK_NONE,
515                         "bit":  layer_class.MASK_BIT,
516                         "alpha": layer_class.MASK_ALPHA}
517    
518            self.aLayer = layer_class(title, filename,
519                                      visible = visible,
520                                      opacity = opacity,
521                                      masktype = masktypes[masktype])
522    
523      def end_rasterlayer(self, name, qname):      def end_rasterlayer(self, name, qname):
524          self.aMap.AddLayer(self.aLayer)          self.aMap.AddLayer(self.aLayer)
# Line 560  class SessionLoader(XMLReader): Line 579  class SessionLoader(XMLReader):
579          del self.cl_group, self.cl_prop          del self.cl_group, self.cl_prop
580    
581      def start_clrange(self, name, qname, attrs):      def start_clrange(self, name, qname, attrs):
582            attrs = self.check_attrs(name, attrs,
583                                     [AttrDesc("range", False, None),
584                                      AttrDesc("min", False, None),
585                                      AttrDesc("max", False, None)])
586    
587          range = attrs.get((None, 'range'), None)          range = attrs['range']
588          # for backward compatibility (min/max are not saved)          # for backward compatibility (min/max are not saved)
589          min   = attrs.get((None, 'min'), None)          min   = attrs['min']
590          max   = attrs.get((None, 'max'), None)          max   = attrs['max']
591    
592          try:          try:
593              if range is not None:              if range is not None:

Legend:
Removed from v.2446  
changed lines
  Added in v.2642

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26