kopia lustrzana https://github.com/ytdl-org/youtube-dl
				
				
				
			[utils,compat] Move struct_pack and struct_unpack to compat.py
							rodzic
							
								
									4350b74545
								
							
						
					
					
						commit
						dab0daeeb0
					
				|  | @ -20,6 +20,7 @@ from youtube_dl.compat import ( | |||
|     compat_urllib_parse_unquote, | ||||
|     compat_urllib_parse_unquote_plus, | ||||
|     compat_urllib_parse_urlencode, | ||||
|     struct_unpack, | ||||
| ) | ||||
| 
 | ||||
| 
 | ||||
|  | @ -102,5 +103,9 @@ class TestCompat(unittest.TestCase): | |||
|         self.assertTrue(isinstance(doc.find('chinese').text, compat_str)) | ||||
|         self.assertTrue(isinstance(doc.find('foo/bar').text, compat_str)) | ||||
| 
 | ||||
|     def test_struct_unpack(self): | ||||
|         self.assertEqual(struct_unpack('!B', b'\x00'), (0,)) | ||||
| 
 | ||||
| 
 | ||||
| if __name__ == '__main__': | ||||
|     unittest.main() | ||||
|  |  | |||
|  | @ -55,7 +55,6 @@ from youtube_dl.utils import ( | |||
|     smuggle_url, | ||||
|     str_to_int, | ||||
|     strip_jsonp, | ||||
|     struct_unpack, | ||||
|     timeconvert, | ||||
|     unescapeHTML, | ||||
|     unified_strdate, | ||||
|  | @ -457,9 +456,6 @@ class TestUtil(unittest.TestCase): | |||
|         testPL(5, 2, (2, 99), [2, 3, 4]) | ||||
|         testPL(5, 2, (20, 99), []) | ||||
| 
 | ||||
|     def test_struct_unpack(self): | ||||
|         self.assertEqual(struct_unpack('!B', b'\x00'), (0,)) | ||||
| 
 | ||||
|     def test_read_batch_urls(self): | ||||
|         f = io.StringIO('''\xef\xbb\xbf foo | ||||
|             bar\r | ||||
|  |  | |||
|  | @ -11,6 +11,7 @@ import re | |||
| import shlex | ||||
| import shutil | ||||
| import socket | ||||
| import struct | ||||
| import subprocess | ||||
| import sys | ||||
| import itertools | ||||
|  | @ -592,6 +593,26 @@ if sys.version_info >= (3, 0): | |||
| else: | ||||
|     from tokenize import generate_tokens as compat_tokenize_tokenize | ||||
| 
 | ||||
| 
 | ||||
| try: | ||||
|     struct.pack('!I', 0) | ||||
| except TypeError: | ||||
|     # In Python 2.6 and 2.7.x < 2.7.7, struct requires a bytes argument | ||||
|     # See https://bugs.python.org/issue19099 | ||||
|     def struct_pack(spec, *args): | ||||
|         if isinstance(spec, compat_str): | ||||
|             spec = spec.encode('ascii') | ||||
|         return struct.pack(spec, *args) | ||||
| 
 | ||||
|     def struct_unpack(spec, *args): | ||||
|         if isinstance(spec, compat_str): | ||||
|             spec = spec.encode('ascii') | ||||
|         return struct.unpack(spec, *args) | ||||
| else: | ||||
|     struct_pack = struct.pack | ||||
|     struct_unpack = struct.unpack | ||||
| 
 | ||||
| 
 | ||||
| __all__ = [ | ||||
|     'compat_HTMLParser', | ||||
|     'compat_HTTPError', | ||||
|  | @ -634,6 +655,8 @@ __all__ = [ | |||
|     'compat_xml_parse_error', | ||||
|     'compat_xpath', | ||||
|     'shlex_quote', | ||||
|     'struct_pack', | ||||
|     'struct_unpack', | ||||
|     'subprocess_check_output', | ||||
|     'workaround_optparse_bug9161', | ||||
| ] | ||||
|  |  | |||
|  | @ -12,13 +12,13 @@ from ..compat import ( | |||
|     compat_urlparse, | ||||
|     compat_urllib_error, | ||||
|     compat_urllib_parse_urlparse, | ||||
|     struct_pack, | ||||
|     struct_unpack, | ||||
| ) | ||||
| from ..utils import ( | ||||
|     encodeFilename, | ||||
|     fix_xml_ampersands, | ||||
|     sanitize_open, | ||||
|     struct_pack, | ||||
|     struct_unpack, | ||||
|     xpath_text, | ||||
| ) | ||||
| 
 | ||||
|  |  | |||
|  | @ -6,6 +6,9 @@ import re | |||
| import time | ||||
| 
 | ||||
| from .common import InfoExtractor | ||||
| from ..compat import ( | ||||
|     struct_unpack, | ||||
| ) | ||||
| from ..utils import ( | ||||
|     ExtractorError, | ||||
|     float_or_none, | ||||
|  | @ -13,7 +16,6 @@ from ..utils import ( | |||
|     remove_start, | ||||
|     sanitized_Request, | ||||
|     std_headers, | ||||
|     struct_unpack, | ||||
| ) | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
|  | @ -4,10 +4,12 @@ import collections | |||
| import io | ||||
| import zlib | ||||
| 
 | ||||
| from .compat import compat_str | ||||
| from .compat import ( | ||||
|     compat_str, | ||||
|     struct_unpack, | ||||
| ) | ||||
| from .utils import ( | ||||
|     ExtractorError, | ||||
|     struct_unpack, | ||||
| ) | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
|  | @ -26,7 +26,6 @@ import platform | |||
| import re | ||||
| import socket | ||||
| import ssl | ||||
| import struct | ||||
| import subprocess | ||||
| import sys | ||||
| import tempfile | ||||
|  | @ -53,6 +52,7 @@ from .compat import ( | |||
|     compat_urlparse, | ||||
|     compat_xpath, | ||||
|     shlex_quote, | ||||
|     struct_pack, | ||||
| ) | ||||
| 
 | ||||
| 
 | ||||
|  | @ -1761,24 +1761,6 @@ def escape_url(url): | |||
|         fragment=escape_rfc3986(url_parsed.fragment) | ||||
|     ).geturl() | ||||
| 
 | ||||
| try: | ||||
|     struct.pack('!I', 0) | ||||
| except TypeError: | ||||
|     # In Python 2.6 and 2.7.x < 2.7.7, struct requires a bytes argument | ||||
|     # See https://bugs.python.org/issue19099 | ||||
|     def struct_pack(spec, *args): | ||||
|         if isinstance(spec, compat_str): | ||||
|             spec = spec.encode('ascii') | ||||
|         return struct.pack(spec, *args) | ||||
| 
 | ||||
|     def struct_unpack(spec, *args): | ||||
|         if isinstance(spec, compat_str): | ||||
|             spec = spec.encode('ascii') | ||||
|         return struct.unpack(spec, *args) | ||||
| else: | ||||
|     struct_pack = struct.pack | ||||
|     struct_unpack = struct.unpack | ||||
| 
 | ||||
| 
 | ||||
| def read_batch_urls(batch_fd): | ||||
|     def fixup(url): | ||||
|  |  | |||
		Ładowanie…
	
		Reference in New Issue
	
	 Yen Chi Hsuan
						Yen Chi Hsuan