From e3c37d660f5641f55c12313fde8e20f8178d942a Mon Sep 17 00:00:00 2001 From: Jeremy Hylton Date: Mon, 30 Jul 2001 21:49:22 +0000 Subject: [PATCH] Ugly fix used when pyexpat is not available. If pyexpat is not available and more than one attempt is made to load an expat-based xml parser, an empty xml.parser.expat module will be created. This empty module will confuse xml.sax.expatreader into thinking that pyexpat is available. The ugly fix is to verify that the expat module actually defines the names that are imported from pyexpat. --- Lib/xml/sax/expatreader.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Lib/xml/sax/expatreader.py b/Lib/xml/sax/expatreader.py index b8a31ffffa8..7c2bb899c49 100644 --- a/Lib/xml/sax/expatreader.py +++ b/Lib/xml/sax/expatreader.py @@ -17,6 +17,9 @@ try: from xml.parsers import expat except ImportError: raise SAXReaderNotAvailable("expat not supported",None) +else: + if not hasattr(expat, "ParserCreate"): + raise SAXReaderNotAvailable("expat not supported",None) from xml.sax import xmlreader, saxutils, handler AttributesImpl = xmlreader.AttributesImpl