aboutsummaryrefslogtreecommitdiff
path: root/youtube_dl/compat.py
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2019-03-06 01:18:52 +0700
committerSergey M․ <dstftw@gmail.com>2019-03-06 01:18:52 +0700
commit399f76870d7dc72631e7da1f54a46ed8a039c838 (patch)
tree3614eb789f6eff25f26810ddc2a4defd5fe8bec9 /youtube_dl/compat.py
parente5ada4f3ad771d4cf3f533efb2597a3f1618ce75 (diff)
downloadyoutube-dl-399f76870d7dc72631e7da1f54a46ed8a039c838.tar.xz
[compat] Introduce compat_etree_Element
Diffstat (limited to 'youtube_dl/compat.py')
-rw-r--r--youtube_dl/compat.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/youtube_dl/compat.py b/youtube_dl/compat.py
index 7b770340f..b2fe62f12 100644
--- a/youtube_dl/compat.py
+++ b/youtube_dl/compat.py
@@ -2508,6 +2508,15 @@ class _TreeBuilder(etree.TreeBuilder):
pass
+try:
+ # xml.etree.ElementTree.Element is a method in Python <=2.6 and
+ # the following will crash with:
+ # TypeError: isinstance() arg 2 must be a class, type, or tuple of classes and types
+ isinstance(None, xml.etree.ElementTree.Element)
+ from xml.etree.ElementTree import Element as compat_etree_Element
+except TypeError: # Python <=2.6
+ from xml.etree.ElementTree import _ElementInterface as compat_etree_Element
+
if sys.version_info[0] >= 3:
def compat_etree_fromstring(text):
return etree.XML(text, parser=etree.XMLParser(target=_TreeBuilder()))
@@ -2969,6 +2978,7 @@ __all__ = [
'compat_cookiejar',
'compat_cookies',
'compat_ctypes_WINFUNCTYPE',
+ 'compat_etree_Element',
'compat_etree_fromstring',
'compat_etree_register_namespace',
'compat_expanduser',