/[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 1970 by bh, Mon Nov 24 18:36:00 2003 UTC revision 2104 by bh, Fri Mar 12 12:19:15 2004 UTC
# Line 1  Line 1 
1  # Copyright (C) 2001, 2002, 2003 by Intevation GmbH  # Copyright (C) 2001, 2002, 2003, 2004 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 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                          "http://thuban.intevation.org/dtds/thuban-1.1-dev.dtd"):
150              for key, value in dispatchers.items():              for key, value in dispatchers.items():
151                  dispatchers[(xmlns, key)] = value                  dispatchers[(xmlns, key)] = value
152    
# Line 298  class SessionLoader(XMLReader): Line 301  class SessionLoader(XMLReader):
301                                    AttrDesc("dbconn", True,                                    AttrDesc("dbconn", True,
302                                             conversion = "idref"),                                             conversion = "idref"),
303                                    AttrDesc("tablename", True,                                    AttrDesc("tablename", True,
304                                               conversion = "ascii"),
305                                      # id_column and geometry_column were
306                                      # newly introduced with thuban-1.1.dtd
307                                      # where they're required.  Since we
308                                      # support the older formats too we
309                                      # have them optional here.
310                                      AttrDesc("id_column", False, "gid",
311                                               conversion = "ascii"),
312                                      AttrDesc("geometry_column", False,
313                                             conversion = "ascii")])                                             conversion = "ascii")])
314          ID = attrs["id"]          # The default value of geometry_column to use when instantiating
315          db = attrs["dbconn"]          # the db shapestore is None which we currently can't easily use
316          tablename = attrs["tablename"]          # in check_attrs
317          self.idmap[ID] = self.theSession.OpenDBShapeStore(db, tablename)          geometry_column = attrs["geometry_column"]
318            if not geometry_column:
319                geometry_column = None
320            dbopen = self.theSession.OpenDBShapeStore
321            self.idmap[attrs["id"]] = dbopen(attrs["dbconn"], attrs["tablename"],
322                                             id_column = attrs["id_column"],
323                                             geometry_column=geometry_column)
324    
325      def start_fileshapesource(self, name, qname, attrs):      def start_fileshapesource(self, name, qname, attrs):
326          attrs = self.check_attrs(name, attrs,          attrs = self.check_attrs(name, attrs,
# Line 545  class SessionLoader(XMLReader): Line 563  class SessionLoader(XMLReader):
563          self.aLayer = self.aMap.LabelLayer()          self.aLayer = self.aMap.LabelLayer()
564    
565      def start_label(self, name, qname, attrs):      def start_label(self, name, qname, attrs):
566          x = float(attrs[(None, 'x')])          attrs = self.check_attrs(name, attrs,
567          y = float(attrs[(None, 'y')])                                   [AttrDesc("x", True, conversion = float),
568          text = self.encode(attrs[(None, 'text')])                                    AttrDesc("y", True, conversion = float),
569          halign = attrs[(None, 'halign')]                                    AttrDesc("text", True),
570          valign = attrs[(None, 'valign')]                                    AttrDesc("halign", True,
571                                               conversion = "ascii"),
572                                      AttrDesc("valign", True,
573                                               conversion = "ascii")])
574            x = attrs['x']
575            y = attrs['y']
576            text = attrs['text']
577            halign = attrs['halign']
578            valign = attrs['valign']
579            if halign not in ("left", "center", "right"):
580                raise LoadError("Unsupported halign value %r" % halign)
581            if valign not in ("top", "center", "bottom"):
582                raise LoadError("Unsupported valign value %r" % valign)
583          self.aLayer.AddLabel(x, y, text, halign = halign, valign = valign)          self.aLayer.AddLabel(x, y, text, halign = halign, valign = valign)
584    
585      def characters(self, chars):      def characters(self, chars):

Legend:
Removed from v.1970  
changed lines
  Added in v.2104

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26