Details
-
Bug
-
Status: Resolved
-
Critical
-
Resolution: Fixed
-
0.6
-
Ubuntu 9.10 (Karmic)
Python 2.6
Qpid 0.6 (and trunk)
Description
In Python 2.6, importing qpid raises "ValueError: unknown url type: /.../specs/amqp.0-10.dtd"
File "/usr/lib/python2.6/dist-packages/_xmlplus/sax/expatreader.py", line 109, in parse
xmlreader.IncrementalParser.parse(self, source)
File "/usr/lib/python2.6/dist-packages/_xmlplus/sax/xmlreader.py", line 123, in parse
self.feed(buffer)
File "/usr/lib/python2.6/dist-packages/_xmlplus/sax/expatreader.py", line 216, in feed
self._parser.Parse(data, isFinal)
File "/usr/lib/python2.6/dist-packages/_xmlplus/sax/expatreader.py", line 396, in external_entity_ref
"")
File "/usr/lib/python2.6/dist-packages/_xmlplus/sax/saxutils.py", line 523, in prepare_input_source
f = urllib2.urlopen(source.getSystemId())
File "/usr/lib/python2.6/urllib2.py", line 124, in urlopen
return _opener.open(url, data, timeout)
File "/usr/lib/python2.6/urllib2.py", line 381, in open
protocol = req.get_type()
File "/usr/lib/python2.6/urllib2.py", line 242, in get_type
raise ValueError, "unknown url type: %s" % self.__original
This didn't happen in Python 2.5 (on Ubuntu 8.10 at least). The xml.sax routines use urlopen which cannot handle the filename (at least without a file:// prefix).
Reversing r656301 fixes this by always prefixing the filename with file:// (not just for Python 2.3). I'm not sure if this would fix it for all releases/versions though.