/[thuban]/branches/WIP-pyshapelib-bramz/Extensions/wms/parser.py
ViewVC logotype

Diff of /branches/WIP-pyshapelib-bramz/Extensions/wms/parser.py

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

revision 2155 by joey, Sat Apr 10 19:12:41 2004 UTC revision 2165 by joey, Tue Apr 13 16:42:48 2004 UTC
# Line 52  import xml.dom.minidom Line 52  import xml.dom.minidom
52    
53  from domutils import getElementsByName, getElementByName  from domutils import getElementsByName, getElementByName
54    
55    from Thuban import _
56    
57  class WMSCapabilitiesParser:  class WMSCapabilitiesParser:
58      """      """
59      Thuban class to parse capabilities supplied as large string.      Thuban class to parse capabilities supplied as large string.
# Line 68  class WMSCapabilitiesParser: Line 70  class WMSCapabilitiesParser:
70      access = None      access = None
71      formats = None      formats = None
72      srs_discrepancies = None      srs_discrepancies = None
73        error = None
74    
75    
76      def __init__(self):      def __init__(self):
# Line 78  class WMSCapabilitiesParser: Line 81  class WMSCapabilitiesParser:
81          # Note that we must not initialise internal variables of the          # Note that we must not initialise internal variables of the
82          # class in a mutable way or it will be shared among all          # class in a mutable way or it will be shared among all
83          # instances.  None is immutable, [] is not.          # instances.  None is immutable, [] is not.
84          layers = []          self.error = []
85    
86    
87      def grok(self, data):      def grok(self, data):
# Line 152  class WMSCapabilitiesParser: Line 155  class WMSCapabilitiesParser:
155          foo = getElementByName(top, 'Title')          foo = getElementByName(top, 'Title')
156          if foo and len(foo.childNodes[0].data):          if foo and len(foo.childNodes[0].data):
157              self.layers[index]['title'] = foo.childNodes[0].data              self.layers[index]['title'] = foo.childNodes[0].data
158            else:
159                # A <Title> is required for each layer, <name> is optional
160                # See OGC 01-068r3, 7.1.4.5.1 and 7.1.4.5.2
161                self.error.append(_("No title found for layer #%d") % index)
162    
163          foo = getElementByName(top, 'Name')          foo = getElementByName(top, 'Name')
164          if foo and len(foo.childNodes[0].data):          if foo and len(foo.childNodes[0].data):
# Line 482  if __name__ == "__main__": Line 489  if __name__ == "__main__":
489    
490      import os      import os
491    
492        sample = "test/sample.xml"
493      try:      try:
494          f = open("test/sample.xml", "r")          f = open(sample, "r")
495      except IOError:      except IOError:
496          try:          try:
497              f = open(os.path.dirname(__file__) + "/test/sample.xml", "r")              f = open(os.path.dirname(__file__) + "/" + sample, "r")
498          except IOError:          except IOError:
499              print "Cannot open sample.xml for reading"              print "Cannot open %s for reading" % sample
500    
501      if f is not None:      if f is not None:
502          sample = f.read();          sample = f.read();

Legend:
Removed from v.2155  
changed lines
  Added in v.2165

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26