Fix utils.py for PyPy on Windows
The line ```python from __future__ import unicode_literals ``` introduced in commit [ecc0c5ee01](ecc0c5ee01) broke youtube-dl for PyPy on Windows, making it unable to locate WinAPI functions. Error: "TypeError: function name must be a string or integer" Adding "b" prefix to strings with WinAPI function names fixes it.
This commit is contained in:
		| @@ -808,22 +808,22 @@ def _windows_write_string(s, out): | ||||
|  | ||||
|     GetStdHandle = ctypes.WINFUNCTYPE( | ||||
|         ctypes.wintypes.HANDLE, ctypes.wintypes.DWORD)( | ||||
|         ("GetStdHandle", ctypes.windll.kernel32)) | ||||
|         (b"GetStdHandle", ctypes.windll.kernel32)) | ||||
|     h = GetStdHandle(WIN_OUTPUT_IDS[fileno]) | ||||
|  | ||||
|     WriteConsoleW = ctypes.WINFUNCTYPE( | ||||
|         ctypes.wintypes.BOOL, ctypes.wintypes.HANDLE, ctypes.wintypes.LPWSTR, | ||||
|         ctypes.wintypes.DWORD, ctypes.POINTER(ctypes.wintypes.DWORD), | ||||
|         ctypes.wintypes.LPVOID)(("WriteConsoleW", ctypes.windll.kernel32)) | ||||
|         ctypes.wintypes.LPVOID)((b"WriteConsoleW", ctypes.windll.kernel32)) | ||||
|     written = ctypes.wintypes.DWORD(0) | ||||
|  | ||||
|     GetFileType = ctypes.WINFUNCTYPE(ctypes.wintypes.DWORD, ctypes.wintypes.DWORD)(("GetFileType", ctypes.windll.kernel32)) | ||||
|     GetFileType = ctypes.WINFUNCTYPE(ctypes.wintypes.DWORD, ctypes.wintypes.DWORD)((b"GetFileType", ctypes.windll.kernel32)) | ||||
|     FILE_TYPE_CHAR = 0x0002 | ||||
|     FILE_TYPE_REMOTE = 0x8000 | ||||
|     GetConsoleMode = ctypes.WINFUNCTYPE( | ||||
|         ctypes.wintypes.BOOL, ctypes.wintypes.HANDLE, | ||||
|         ctypes.POINTER(ctypes.wintypes.DWORD))( | ||||
|         ("GetConsoleMode", ctypes.windll.kernel32)) | ||||
|         (b"GetConsoleMode", ctypes.windll.kernel32)) | ||||
|     INVALID_HANDLE_VALUE = ctypes.wintypes.DWORD(-1).value | ||||
|  | ||||
|     def not_a_console(handle): | ||||
|   | ||||
		Reference in New Issue
	
	Block a user