[utils] Fix intlist_to_bytes in Python 2 (#4181)
This commit is contained in:
parent
3fa5bb3802
commit
4c0924bb24
@ -46,6 +46,7 @@ from youtube_dl.utils import (
|
|||||||
escape_url,
|
escape_url,
|
||||||
js_to_json,
|
js_to_json,
|
||||||
get_filesystem_encoding,
|
get_filesystem_encoding,
|
||||||
|
intlist_to_bytes,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@ -350,5 +351,10 @@ class TestUtil(unittest.TestCase):
|
|||||||
self.assertEqual(clean_html('a:\nb'), 'a: b')
|
self.assertEqual(clean_html('a:\nb'), 'a: b')
|
||||||
self.assertEqual(clean_html('a:\n "b"'), 'a: "b"')
|
self.assertEqual(clean_html('a:\n "b"'), 'a: "b"')
|
||||||
|
|
||||||
|
def test_intlist_to_bytes(self):
|
||||||
|
self.assertEqual(
|
||||||
|
intlist_to_bytes([0, 1, 127, 128, 255]),
|
||||||
|
b'\x00\x01\x7f\x80\xff')
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
unittest.main()
|
unittest.main()
|
||||||
|
@ -843,10 +843,7 @@ def bytes_to_intlist(bs):
|
|||||||
def intlist_to_bytes(xs):
|
def intlist_to_bytes(xs):
|
||||||
if not xs:
|
if not xs:
|
||||||
return b''
|
return b''
|
||||||
if isinstance(chr(0), bytes): # Python 2
|
return struct.pack('%dB' % len(xs), *xs)
|
||||||
return ''.join([chr(x) for x in xs])
|
|
||||||
else:
|
|
||||||
return bytes(xs)
|
|
||||||
|
|
||||||
|
|
||||||
# Cross-platform file locking
|
# Cross-platform file locking
|
||||||
|
Loading…
Reference in New Issue
Block a user