summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCole Robinson <crobinso@redhat.com>2009-10-02 10:34:54 -0400
committerCole Robinson <crobinso@redhat.com>2009-10-05 13:31:37 -0400
commite4fc56ea6973f3c431ab30a4e658cb9db302457d (patch)
tree0b1a8281f8bb1fa412ab0b1d7fbe081c3b2b88d7
parentf444dc0597044265a7585d94c3a19875ded35cac (diff)
downloadlibvirt-python-split-e4fc56ea6973f3c431ab30a4e658cb9db302457d.tar.gz
libvirt-python-split-e4fc56ea6973f3c431ab30a4e658cb9db302457d.tar.xz
libvirt-python-split-e4fc56ea6973f3c431ab30a4e658cb9db302457d.zip
python: Remove FastParser from generator.
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>
-rwxr-xr-xgenerator.py53
1 files changed, 3 insertions, 50 deletions
diff --git a/generator.py b/generator.py
index 48ad14b..3d142e9 100755
--- a/generator.py
+++ b/generator.py
@@ -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: