[compat] Rename struct_(un)pack to compat_struct_(un)pack
authorYen Chi Hsuan <yan12125@gmail.com>
Tue, 3 May 2016 08:50:16 +0000 (16:50 +0800)
committerYen Chi Hsuan <yan12125@gmail.com>
Tue, 10 May 2016 06:51:38 +0000 (14:51 +0800)
test/test_compat.py
youtube_dl/compat.py
youtube_dl/downloader/f4m.py
youtube_dl/extractor/rtve.py
youtube_dl/socks.py
youtube_dl/swfinterp.py
youtube_dl/utils.py

index dd62a5d6b7304a1230f6967c3d66a3c7fa89ee1f..539b3054027992b7b08effbe98803f40872d61bf 100644 (file)
@@ -17,10 +17,10 @@ from youtube_dl.compat import (
     compat_expanduser,
     compat_shlex_split,
     compat_str,
+    compat_struct_unpack,
     compat_urllib_parse_unquote,
     compat_urllib_parse_unquote_plus,
     compat_urllib_parse_urlencode,
-    struct_unpack,
 )
 
 
@@ -104,7 +104,7 @@ class TestCompat(unittest.TestCase):
         self.assertTrue(isinstance(doc.find('foo/bar').text, compat_str))
 
     def test_struct_unpack(self):
-        self.assertEqual(struct_unpack('!B', b'\x00'), (0,))
+        self.assertEqual(compat_struct_unpack('!B', b'\x00'), (0,))
 
 
 if __name__ == '__main__':
index f697bee7ec3daaccb28345c56a3a4acfc60f7b11..e48c761a697efc44a22116e2c4ad93e9b8dbd52e 100644 (file)
@@ -599,18 +599,18 @@ try:
 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):
+    def compat_struct_pack(spec, *args):
         if isinstance(spec, compat_str):
             spec = spec.encode('ascii')
         return struct.pack(spec, *args)
 
-    def struct_unpack(spec, *args):
+    def compat_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
+    compat_struct_pack = struct.pack
+    compat_struct_unpack = struct.unpack
 
 
 __all__ = [
@@ -638,6 +638,8 @@ __all__ = [
     'compat_shlex_split',
     'compat_socket_create_connection',
     'compat_str',
+    'compat_struct_pack',
+    'compat_struct_unpack',
     'compat_subprocess_get_DEVNULL',
     'compat_tokenize_tokenize',
     'compat_urllib_error',
@@ -655,8 +657,6 @@ __all__ = [
     'compat_xml_parse_error',
     'compat_xpath',
     'shlex_quote',
-    'struct_pack',
-    'struct_unpack',
     'subprocess_check_output',
     'workaround_optparse_bug9161',
 ]
index b282fe3d63b9c6b77509878ff47564457c830efc..3d9337afa3713b1d10428274f8f0c77553ec670e 100644 (file)
@@ -12,8 +12,8 @@ from ..compat import (
     compat_urlparse,
     compat_urllib_error,
     compat_urllib_parse_urlparse,
-    struct_pack,
-    struct_unpack,
+    compat_struct_pack,
+    compat_struct_unpack,
 )
 from ..utils import (
     encodeFilename,
@@ -31,13 +31,13 @@ class FlvReader(io.BytesIO):
 
     # Utility functions for reading numbers and strings
     def read_unsigned_long_long(self):
-        return struct_unpack('!Q', self.read(8))[0]
+        return compat_struct_unpack('!Q', self.read(8))[0]
 
     def read_unsigned_int(self):
-        return struct_unpack('!I', self.read(4))[0]
+        return compat_struct_unpack('!I', self.read(4))[0]
 
     def read_unsigned_char(self):
-        return struct_unpack('!B', self.read(1))[0]
+        return compat_struct_unpack('!B', self.read(1))[0]
 
     def read_string(self):
         res = b''
@@ -194,11 +194,11 @@ def build_fragments_list(boot_info):
 
 
 def write_unsigned_int(stream, val):
-    stream.write(struct_pack('!I', val))
+    stream.write(compat_struct_pack('!I', val))
 
 
 def write_unsigned_int_24(stream, val):
-    stream.write(struct_pack('!I', val)[1:])
+    stream.write(compat_struct_pack('!I', val)[1:])
 
 
 def write_flv_header(stream):
index f590408775d0c418c26a58298607cf3fc578af68..edd0d108ee28497929bc5094cfa70d65ef8a0b05 100644 (file)
@@ -7,7 +7,7 @@ import time
 
 from .common import InfoExtractor
 from ..compat import (
-    struct_unpack,
+    compat_struct_unpack,
 )
 from ..utils import (
     ExtractorError,
@@ -23,7 +23,7 @@ def _decrypt_url(png):
     encrypted_data = base64.b64decode(png.encode('utf-8'))
     text_index = encrypted_data.find(b'tEXt')
     text_chunk = encrypted_data[text_index - 4:]
-    length = struct_unpack('!I', text_chunk[:4])[0]
+    length = compat_struct_unpack('!I', text_chunk[:4])[0]
     # Use bytearray to get integers when iterating in both python 2.x and 3.x
     data = bytearray(text_chunk[8:8 + length])
     data = [chr(b) for b in data if b != 0]
index 0e3dd7893183759ea69d910d605f550f06f4e3e1..a5b27fea7c685208b1315110de90139d4bd6d075 100644 (file)
@@ -14,8 +14,8 @@ import socket
 
 from .compat import (
     compat_ord,
-    struct_pack,
-    struct_unpack,
+    compat_struct_pack,
+    compat_struct_unpack,
 )
 
 __author__ = 'Timo Schmid <coding@timoschmid.de>'
@@ -26,7 +26,7 @@ SOCKS4_REPLY_VERSION = 0x00
 # if the client cannot resolve the destination host's domain name to find its
 # IP address, it should set the first three bytes of DSTIP to NULL and the last
 # byte to a non-zero value.
-SOCKS4_DEFAULT_DSTIP = struct_pack('!BBBB', 0, 0, 0, 0xFF)
+SOCKS4_DEFAULT_DSTIP = compat_struct_pack('!BBBB', 0, 0, 0, 0xFF)
 
 SOCKS5_VERSION = 5
 SOCKS5_USER_AUTH_VERSION = 0x01
@@ -128,11 +128,11 @@ class sockssocket(socket.socket):
 
     def _recv_bytes(self, cnt):
         data = self.recvall(cnt)
-        return struct_unpack('!{0}B'.format(cnt), data)
+        return compat_struct_unpack('!{0}B'.format(cnt), data)
 
     @staticmethod
     def _len_and_data(data):
-        return struct_pack('!B', len(data)) + data
+        return compat_struct_pack('!B', len(data)) + data
 
     def _check_response_version(self, expected_version, got_version):
         if got_version != expected_version:
@@ -153,7 +153,7 @@ class sockssocket(socket.socket):
 
         ipaddr = self._resolve_address(destaddr, SOCKS4_DEFAULT_DSTIP, use_remote_dns=is_4a)
 
-        packet = struct_pack('!BBH', SOCKS4_VERSION, Socks4Command.CMD_CONNECT, port) + ipaddr
+        packet = compat_struct_pack('!BBH', SOCKS4_VERSION, Socks4Command.CMD_CONNECT, port) + ipaddr
 
         username = (self._proxy.username or '').encode('utf-8')
         packet += username + b'\x00'
@@ -163,7 +163,7 @@ class sockssocket(socket.socket):
 
         self.sendall(packet)
 
-        version, resp_code, dstport, dsthost = struct_unpack('!BBHI', self.recvall(8))
+        version, resp_code, dstport, dsthost = compat_struct_unpack('!BBHI', self.recvall(8))
 
         self._check_response_version(SOCKS4_REPLY_VERSION, version)
 
@@ -177,14 +177,14 @@ class sockssocket(socket.socket):
         self._setup_socks4(address, is_4a=True)
 
     def _socks5_auth(self):
-        packet = struct_pack('!B', SOCKS5_VERSION)
+        packet = compat_struct_pack('!B', SOCKS5_VERSION)
 
         auth_methods = [Socks5Auth.AUTH_NONE]
         if self._proxy.username and self._proxy.password:
             auth_methods.append(Socks5Auth.AUTH_USER_PASS)
 
-        packet += struct_pack('!B', len(auth_methods))
-        packet += struct_pack('!{0}B'.format(len(auth_methods)), *auth_methods)
+        packet += compat_struct_pack('!B', len(auth_methods))
+        packet += compat_struct_pack('!{0}B'.format(len(auth_methods)), *auth_methods)
 
         self.sendall(packet)
 
@@ -199,7 +199,7 @@ class sockssocket(socket.socket):
         if method == Socks5Auth.AUTH_USER_PASS:
             username = self._proxy.username.encode('utf-8')
             password = self._proxy.password.encode('utf-8')
-            packet = struct_pack('!B', SOCKS5_USER_AUTH_VERSION)
+            packet = compat_struct_pack('!B', SOCKS5_USER_AUTH_VERSION)
             packet += self._len_and_data(username) + self._len_and_data(password)
             self.sendall(packet)
 
@@ -221,14 +221,14 @@ class sockssocket(socket.socket):
         self._socks5_auth()
 
         reserved = 0
-        packet = struct_pack('!BBB', SOCKS5_VERSION, Socks5Command.CMD_CONNECT, reserved)
+        packet = compat_struct_pack('!BBB', SOCKS5_VERSION, Socks5Command.CMD_CONNECT, reserved)
         if ipaddr is None:
             destaddr = destaddr.encode('utf-8')
-            packet += struct_pack('!B', Socks5AddressType.ATYP_DOMAINNAME)
+            packet += compat_struct_pack('!B', Socks5AddressType.ATYP_DOMAINNAME)
             packet += self._len_and_data(destaddr)
         else:
-            packet += struct_pack('!B', Socks5AddressType.ATYP_IPV4) + ipaddr
-        packet += struct_pack('!H', port)
+            packet += compat_struct_pack('!B', Socks5AddressType.ATYP_IPV4) + ipaddr
+        packet += compat_struct_pack('!H', port)
 
         self.sendall(packet)
 
@@ -247,7 +247,7 @@ class sockssocket(socket.socket):
             destaddr = self.recvall(alen)
         elif atype == Socks5AddressType.ATYP_IPV6:
             destaddr = self.recvall(16)
-        destport = struct_unpack('!H', self.recvall(2))[0]
+        destport = compat_struct_unpack('!H', self.recvall(2))[0]
 
         return (destaddr, destport)
 
index 86b28716ce91e2b38e117745107a128a8e95081a..7cf490aa43a878b3c377bea0b173c7a2b170c2c7 100644 (file)
@@ -6,7 +6,7 @@ import zlib
 
 from .compat import (
     compat_str,
-    struct_unpack,
+    compat_struct_unpack,
 )
 from .utils import (
     ExtractorError,
@@ -25,17 +25,17 @@ def _extract_tags(file_contents):
             file_contents[:1])
 
     # Determine number of bits in framesize rectangle
-    framesize_nbits = struct_unpack('!B', content[:1])[0] >> 3
+    framesize_nbits = compat_struct_unpack('!B', content[:1])[0] >> 3
     framesize_len = (5 + 4 * framesize_nbits + 7) // 8
 
     pos = framesize_len + 2 + 2
     while pos < len(content):
-        header16 = struct_unpack('<H', content[pos:pos + 2])[0]
+        header16 = compat_struct_unpack('<H', content[pos:pos + 2])[0]
         pos += 2
         tag_code = header16 >> 6
         tag_len = header16 & 0x3f
         if tag_len == 0x3f:
-            tag_len = struct_unpack('<I', content[pos:pos + 4])[0]
+            tag_len = compat_struct_unpack('<I', content[pos:pos + 4])[0]
             pos += 4
         assert pos + tag_len <= len(content), \
             ('Tag %d ends at %d+%d - that\'s longer than the file (%d)'
@@ -103,7 +103,7 @@ def _read_int(reader):
     for _ in range(5):
         buf = reader.read(1)
         assert len(buf) == 1
-        b = struct_unpack('<B', buf)[0]
+        b = compat_struct_unpack('<B', buf)[0]
         res = res | ((b & 0x7f) << shift)
         if b & 0x80 == 0:
             break
@@ -129,7 +129,7 @@ def _s24(reader):
     bs = reader.read(3)
     assert len(bs) == 3
     last_byte = b'\xff' if (ord(bs[2:3]) >= 0x80) else b'\x00'
-    return struct_unpack('<i', bs + last_byte)[0]
+    return compat_struct_unpack('<i', bs + last_byte)[0]
 
 
 def _read_string(reader):
@@ -148,7 +148,7 @@ def _read_bytes(count, reader):
 
 def _read_byte(reader):
     resb = _read_bytes(1, reader=reader)
-    res = struct_unpack('<B', resb)[0]
+    res = compat_struct_unpack('<B', resb)[0]
     return res
 
 
index dc73f34079360e4d1411dccd938ef42a53c51208..dbac38b555ad59f2178c58e6d6cfd8ce88a6aefe 100644 (file)
@@ -44,6 +44,7 @@ from .compat import (
     compat_parse_qs,
     compat_socket_create_connection,
     compat_str,
+    compat_struct_pack,
     compat_urllib_error,
     compat_urllib_parse,
     compat_urllib_parse_urlencode,
@@ -52,7 +53,6 @@ from .compat import (
     compat_urlparse,
     compat_xpath,
     shlex_quote,
-    struct_pack,
 )
 
 from .socks import (
@@ -1259,7 +1259,7 @@ def bytes_to_intlist(bs):
 def intlist_to_bytes(xs):
     if not xs:
         return b''
-    return struct_pack('%dB' % len(xs), *xs)
+    return compat_struct_pack('%dB' % len(xs), *xs)
 
 
 # Cross-platform file locking