1
0
mirror of https://github.com/yt-dlp/yt-dlp synced 2025-12-21 08:35:40 +07:00

[compat] Introduce compat_etree_Element

This commit is contained in:
Sergey M․
2019-03-06 01:18:52 +07:00
parent e5ada4f3ad
commit 399f76870d
2 changed files with 17 additions and 0 deletions

View File

@@ -2508,6 +2508,15 @@ def doctype(self, name, pubid, system):
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 @@ def compat_ctypes_WINFUNCTYPE(*args, **kwargs):
'compat_cookiejar',
'compat_cookies',
'compat_ctypes_WINFUNCTYPE',
'compat_etree_Element',
'compat_etree_fromstring',
'compat_etree_register_namespace',
'compat_expanduser',