mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 14:45:14 +00:00 
			
		
		
		
	[generic] Fix rss under Python 2.x and move test to extractor
This commit is contained in:
		| @@ -1458,6 +1458,12 @@ def urlencode_postdata(*args, **kargs): | ||||
|     return compat_urllib_parse.urlencode(*args, **kargs).encode('ascii') | ||||
|  | ||||
|  | ||||
| try: | ||||
|     etree_iter = xml.etree.ElementTree.Element.iter | ||||
| except AttributeError:  # Python <=2.6 | ||||
|     etree_iter = lambda n: n.findall('.//*') | ||||
|  | ||||
|  | ||||
| def parse_xml(s): | ||||
|     class TreeBuilder(xml.etree.ElementTree.TreeBuilder): | ||||
|         def doctype(self, name, pubid, system): | ||||
| @@ -1465,7 +1471,14 @@ def parse_xml(s): | ||||
|  | ||||
|     parser = xml.etree.ElementTree.XMLParser(target=TreeBuilder()) | ||||
|     kwargs = {'parser': parser} if sys.version_info >= (2, 7) else {} | ||||
|     return xml.etree.ElementTree.XML(s.encode('utf-8'), **kwargs) | ||||
|     tree = xml.etree.ElementTree.XML(s.encode('utf-8'), **kwargs) | ||||
|     # Fix up XML parser in Python 2.x | ||||
|     if sys.version_info < (3, 0): | ||||
|         for n in etree_iter(tree): | ||||
|             if n.text is not None: | ||||
|                 if not isinstance(n.text, compat_str): | ||||
|                     n.text = n.text.decode('utf-8') | ||||
|     return tree | ||||
|  | ||||
|  | ||||
| if sys.version_info < (3, 0) and sys.platform == 'win32': | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Philipp Hagemeister
					Philipp Hagemeister