xml/metadata: handle py 2.6 cElementTree incompat
authorZac Medico <zmedico@gentoo.org>
Fri, 2 Sep 2011 15:45:43 +0000 (08:45 -0700)
committerZac Medico <zmedico@gentoo.org>
Fri, 2 Sep 2011 15:45:43 +0000 (08:45 -0700)
pym/portage/xml/metadata.py

index 9e1886927bde0d5a3b723b308ac00730dbe3a817..3513fff6dcf4cfe83b0481efff07a6c34c33bfc8 100644 (file)
 
 __all__ = ('MetaDataXML',)
 
-try:
-       import xml.etree.cElementTree as etree
-except ImportError:
+import sys
+
+if sys.hexversion < 0x2070000:
+       # Our _MetadataTreeBuilder usage is incompatible with
+       # cElementTree in Python 2.6:
+       #  File "/usr/lib/python2.6/xml/etree/ElementTree.py", line 644, in findall
+    #    assert self._root is not None
        import xml.etree.ElementTree as etree
+else:
+       try:
+               import xml.etree.cElementTree as etree
+       except ImportError:
+               import xml.etree.ElementTree as etree
 
 import re
 import xml.etree.ElementTree