From e4fc56ea6973f3c431ab30a4e658cb9db302457d Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Fri, 2 Oct 2009 10:34:54 -0400 Subject: 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 --- generator.py | 53 +++-------------------------------------------------- 1 file 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): - # 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: -- cgit