On Fri, Oct 02, 2009 at 01:46:47PM -0400, Cole Robinson wrote: > 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@xxxxxxxxxx> > --- > python/generator.py | 53 ++------------------------------------------------ > 1 files changed, 3 insertions(+), 50 deletions(-) > > diff --git a/python/generator.py b/python/generator.py > index 48ad14b..3d142e9 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): > - # <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: ACK Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :| -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list