mirror of
				https://gitlab.com/ytdl-org/youtube-dl.git
				synced 2025-11-04 03:47:07 -05:00 
			
		
		
		
	[utils] Fix intlist_to_bytes in Python 2 (#4181)
This commit is contained in:
		@@ -46,6 +46,7 @@ from youtube_dl.utils import (
 | 
			
		||||
    escape_url,
 | 
			
		||||
    js_to_json,
 | 
			
		||||
    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:\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__':
 | 
			
		||||
    unittest.main()
 | 
			
		||||
 
 | 
			
		||||
@@ -843,10 +843,7 @@ def bytes_to_intlist(bs):
 | 
			
		||||
def intlist_to_bytes(xs):
 | 
			
		||||
    if not xs:
 | 
			
		||||
        return b''
 | 
			
		||||
    if isinstance(chr(0), bytes):  # Python 2
 | 
			
		||||
        return ''.join([chr(x) for x in xs])
 | 
			
		||||
    else:
 | 
			
		||||
        return bytes(xs)
 | 
			
		||||
    return struct.pack('%dB' % len(xs), *xs)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Cross-platform file locking
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user