commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gnue/common/src GParser.py


From: Jason Cater
Subject: gnue/common/src GParser.py
Date: Wed, 20 Mar 2002 16:23:32 -0500

CVSROOT:        /cvsroot/gnue
Module name:    gnue
Changes by:     Jason Cater <address@hidden>    02/03/20 16:23:32

Modified files:
        common/src     : GParser.py 

Log message:
        Moved from PyXML-specific parser to SAX2 parser included with Python 
2.0+ (this *may* remove the pyxml dependency

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/src/GParser.py.diff?tr1=1.27&tr2=1.28&r1=text&r2=text

Patches:
Index: gnue/common/src/GParser.py
diff -c gnue/common/src/GParser.py:1.27 gnue/common/src/GParser.py:1.28
*** gnue/common/src/GParser.py:1.27     Wed Mar 20 15:02:13 2002
--- gnue/common/src/GParser.py  Wed Mar 20 16:23:32 2002
***************
*** 30,38 ****
  import sys
  
  try:
-   from xml.sax import saxexts
-   from xml.sax import saxlib
    from xml.sax import saxutils
  except ImportError:
    print """
     This GNUe tool requires PyXML to be installed.
--- 30,37 ----
  import sys
  
  try:
    from xml.sax import saxutils
+   import xml.sax
  except ImportError:
    print """
     This GNUe tool requires PyXML to be installed.
***************
*** 41,47 ****
        http://pyxml.sourceforge.net/
  
  """
!   
  
  import string
  import GDebug
--- 40,46 ----
        http://pyxml.sourceforge.net/
  
  """
! 
  
  import string
  import GDebug
***************
*** 80,86 ****
  def loadXMLObject(URL, handler, rootType, xmlFileType,
    initialize=1, attributes={}, initParameters={}):
    # Create a parser
!   parser = saxexts.make_parser()
  
    # Create a stack for the parsing routine
    object = None
--- 79,85 ----
  def loadXMLObject(URL, handler, rootType, xmlFileType,
    initialize=1, attributes={}, initParameters={}):
    # Create a parser
!   parser = xml.sax.make_parser()
  
    # Create a stack for the parsing routine
    object = None
***************
*** 89,97 ****
    dh = handler()
  
    # Tell the parser to use our handler
!   parser.setDocumentHandler(dh)
!   parser.parseFile(URL)
!   parser.close()
  
    object = dh.getRoot()
  
--- 88,95 ----
    dh = handler()
  
    # Tell the parser to use our handler
!   parser.setContentHandler(dh)
!   parser.parse(URL)
  
    object = dh.getRoot()
  
***************
*** 170,176 ****
  # process the xml file.
  #
  #######################################################
! class xmlHandler(saxlib.HandlerBase):
    def __init__(self):
  
      self.xmlElements = {}
--- 168,174 ----
  # process the xml file.
  #
  #######################################################
! class xmlHandler(xml.sax.ContentHandler):
    def __init__(self):
  
      self.xmlElements = {}
***************
*** 182,190 ****
--- 180,195 ----
      self.root = None
      self._phaseInitCount = 0
  
+   #
+   # Called by client code to get the "root" node
+   #
    def getRoot(self):
      return self.root
  
+   #
+   # Called by the internal SAX parser whenever
+   # a starting XML element/tag is encountered.
+   #
    def startElement(self, name, saxattrs):
  
      GDebug.printMesg(50, "<%s>" % name)
***************
*** 248,256 ****
      self.nameStack.insert(0, name)
  
  
!   def characters(self, ch, start, length):
! 
!     text = ch[start:start+length]
  
      if self.xmlStack[0] != None:
  
--- 253,263 ----
      self.nameStack.insert(0, name)
  
  
!   #
!   # Called by the internal SAX parser whenever
!   # text (not part of a tag) is encountered.
!   #
!   def characters(self, text):
  
      if self.xmlStack[0] != None:
  
***************
*** 269,274 ****
--- 276,285 ----
              GContent(self.xmlStack[0], text)
  
  
+   #
+   # Called by the internal SAX parser whenever
+   # an ending XML tag/element is encountered.
+   #
    def endElement(self, name):
      self.nameStack.pop(0)
      child = self.xmlStack.pop(0)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]