--- epkginfo-orig 2009-11-13 20:23:28.923642643 +0200 +++ epkginfo 2009-11-13 20:14:28.306623656 +0200 @@ -13,8 +13,7 @@ import sys import re from stat import * -from xml.sax import saxutils, make_parser, handler -from xml.sax.handler import feature_namespaces +from xml.parsers import expat import portage from portage.output import * @@ -103,7 +102,7 @@ print green(arch), -class Metadata_XML(handler.ContentHandler): +class Metadata_XML(object): _inside_herd="No" _inside_maintainer="No" _inside_email="No" @@ -151,11 +150,14 @@ print darkgreen("Maintainer: ") + red("Error (Missing metadata.xml)") return 1 - parser = make_parser() + parser = expat.ParserCreate() handler = Metadata_XML() handler._maintainers = [] - parser.setContentHandler(handler) - parser.parse( metadata_file ) + parser.StartElementHandler = handler.startElement + parser.EndElementHandler = handler.endElement + parser.CharacterDataHandler = handler.characters + with open(metadata_file, 'r') as f: + parser.ParseFile(f) if handler._herd: herds = ", ".join(handler._herd)