| OLD | NEW |
| 1 # Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 """Collection of functions and classes to fix various encoding problems on | 5 """Collection of functions and classes to fix various encoding problems on |
| 6 multiple platforms with python. | 6 multiple platforms with python. |
| 7 """ | 7 """ |
| 8 | 8 |
| 9 import codecs | 9 import codecs |
| 10 import locale | 10 import locale |
| (...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 180 Understands how to use the win32 console API. | 180 Understands how to use the win32 console API. |
| 181 """ | 181 """ |
| 182 def __init__(self, console_handle, fileno, stream_name, encoding): | 182 def __init__(self, console_handle, fileno, stream_name, encoding): |
| 183 super(WinUnicodeConsoleOutput, self).__init__( | 183 super(WinUnicodeConsoleOutput, self).__init__( |
| 184 fileno, '<Unicode console %s>' % stream_name, encoding) | 184 fileno, '<Unicode console %s>' % stream_name, encoding) |
| 185 # Handle to use for WriteConsoleW | 185 # Handle to use for WriteConsoleW |
| 186 self._console_handle = console_handle | 186 self._console_handle = console_handle |
| 187 | 187 |
| 188 # Loads the necessary function. | 188 # Loads the necessary function. |
| 189 from ctypes import byref, GetLastError, POINTER, windll, WINFUNCTYPE | 189 from ctypes import byref, GetLastError, POINTER, windll, WINFUNCTYPE |
| 190 from ctypes.wintypes import BOOL, DWORD, HANDLE, LPVOID, LPWSTR | 190 from ctypes.wintypes import BOOL, DWORD, HANDLE, LPWSTR |
| 191 from ctypes.wintypes import LPVOID # pylint: disable=E0611 |
| 191 | 192 |
| 192 self._DWORD = DWORD | 193 self._DWORD = DWORD |
| 193 self._byref = byref | 194 self._byref = byref |
| 194 | 195 |
| 195 # <http://msdn.microsoft.com/en-us/library/ms687401.aspx> | 196 # <http://msdn.microsoft.com/en-us/library/ms687401.aspx> |
| 196 self._WriteConsoleW = WINFUNCTYPE( | 197 self._WriteConsoleW = WINFUNCTYPE( |
| 197 BOOL, HANDLE, LPWSTR, DWORD, POINTER(DWORD), LPVOID)( | 198 BOOL, HANDLE, LPWSTR, DWORD, POINTER(DWORD), LPVOID)( |
| 198 ('WriteConsoleW', windll.kernel32)) | 199 ('WriteConsoleW', windll.kernel32)) |
| 199 self._GetLastError = GetLastError | 200 self._GetLastError = GetLastError |
| 200 | 201 |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 353 if sys.platform == 'win32': | 354 if sys.platform == 'win32': |
| 354 ret &= fix_win_codec() | 355 ret &= fix_win_codec() |
| 355 | 356 |
| 356 ret &= fix_default_encoding() | 357 ret &= fix_default_encoding() |
| 357 | 358 |
| 358 if sys.platform == 'win32': | 359 if sys.platform == 'win32': |
| 359 encoding = sys.getdefaultencoding() | 360 encoding = sys.getdefaultencoding() |
| 360 ret &= fix_win_sys_argv(encoding) | 361 ret &= fix_win_sys_argv(encoding) |
| 361 ret &= fix_win_console(encoding) | 362 ret &= fix_win_console(encoding) |
| 362 return ret | 363 return ret |
| OLD | NEW |