]> xenbits.xensource.com Git - libvirt.git/commitdiff
python: Remove FastParser from generator.
authorCole Robinson <crobinso@redhat.com>
Fri, 2 Oct 2009 14:34:54 +0000 (10:34 -0400)
committerCole Robinson <crobinso@redhat.com>
Mon, 5 Oct 2009 17:31:37 +0000 (13:31 -0400)
FastParser uses sgmlop, a non-standard python module meant as a replacement
for xmllib (which is deprecated since python 2.0). Fedora doesn't even carry
this module, and the generator doesn't have high performance requirements, so
just rip the code out.

Signed-off-by: Cole Robinson <crobinso@redhat.com>
python/generator.py

index 48ad14b855632e0cb7d78b308ea759379e5ef561..3d142e9c1d0d5fb3c8b05aa25aef4edbb19a6597 100755 (executable)
@@ -26,52 +26,9 @@ else:
 #######################################################################
 import os
 import xmllib
-try:
-    import sgmlop
-except ImportError:
-    sgmlop = None # accelerator not available
 
 debug = 0
 
-if sgmlop:
-    class FastParser:
-        """sgmlop based XML parser.  this is typically 15x faster
-           than SlowParser..."""
-
-        def __init__(self, target):
-
-            # setup callbacks
-            self.finish_starttag = target.start
-            self.finish_endtag = target.end
-            self.handle_data = target.data
-            self.handle_cdata = target.cdata
-
-            # activate parser
-            self.parser = sgmlop.XMLParser()
-            self.parser.register(self)
-            self.feed = self.parser.feed
-            self.entity = {
-                "amp": "&", "gt": ">", "lt": "<",
-                "apos": "'", "quot": '"'
-                }
-
-        def close(self):
-            try:
-                self.parser.close()
-            finally:
-                self.parser = self.feed = None # nuke circular reference
-
-        def handle_entityref(self, entity):
-            # <string> entity
-            try:
-                self.handle_data(self.entity[entity])
-            except KeyError:
-                self.handle_data("&%s;" % entity)
-
-else:
-    FastParser = None
-
-
 class SlowParser(xmllib.XMLParser):
     """slow but safe standard parser, based on the XML parser in
        Python's standard library."""
@@ -83,13 +40,9 @@ class SlowParser(xmllib.XMLParser):
         self.unknown_endtag = target.end
         xmllib.XMLParser.__init__(self)
 
-def getparser(target = None):
-    # get the fastest available parser, and attach it to an
-    # unmarshalling object.  return both objects.
-    if target is None:
-        target = docParser()
-    if FastParser:
-        return FastParser(target), target
+def getparser():
+    # Attach parser to an unmarshalling object. return both objects.
+    target = docParser()
     return SlowParser(target), target
 
 class docParser: