diff --git a/python/generator.py b/python/generator.py index 48ad14b855632e0cb7d78b308ea759379e5ef561..3d142e9c1d0d5fb3c8b05aa25aef4edbb19a6597 100755 --- a/python/generator.py +++ b/python/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: