Mercurial > hg
changeset 46784:65f437c240f2 stable
typing: disable a few errors when accessing Windows specific attributes
This is already guarded with conditionals. The entire win32 module is
conditionally loaded.
File "/mnt/c/Users/Matt/hg/mercurial/utils/procutil.py", line 162, in <module>: No attribute 'winstdout' on module 'mercurial.posix' [module-attr]
File "/mnt/c/Users/Matt/hg/mercurial/utils/procutil.py", line 163, in <module>: No attribute 'winstdout' on module 'mercurial.posix' [module-attr]
File "/mnt/c/Users/Matt/hg/mercurial/utils/procutil.py", line 174, in <module>: No attribute 'winstdout' on module 'mercurial.posix' [module-attr]
File "/mnt/c/Users/Matt/hg/mercurial/utils/procutil.py", line 175, in <module>: No attribute 'winstdout' on module 'mercurial.posix' [module-attr]
Differential Revision: https://phab.mercurial-scm.org/D10206
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Fri, 12 Mar 2021 17:22:35 -0500 |
parents | 7fd369644c68 |
children | 521ac0d7047f |
files | mercurial/utils/procutil.py mercurial/win32.py |
diffstat | 2 files changed, 22 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/utils/procutil.py Fri Mar 12 16:55:18 2021 -0500 +++ b/mercurial/utils/procutil.py Fri Mar 12 17:22:35 2021 -0500 @@ -152,8 +152,8 @@ if pycompat.iswindows: # Work around Windows bugs. - stdout = platform.winstdout(stdout) - stderr = platform.winstdout(stderr) + stdout = platform.winstdout(stdout) # pytype: disable=module-attr + stderr = platform.winstdout(stderr) # pytype: disable=module-attr if isatty(stdout): # The standard library doesn't offer line-buffered binary streams. stdout = make_line_buffered(stdout) @@ -164,8 +164,8 @@ stderr = sys.stderr if pycompat.iswindows: # Work around Windows bugs. - stdout = platform.winstdout(stdout) - stderr = platform.winstdout(stderr) + stdout = platform.winstdout(stdout) # pytype: disable=module-attr + stderr = platform.winstdout(stderr) # pytype: disable=module-attr if isatty(stdout): if pycompat.iswindows: # The Windows C runtime library doesn't support line buffering.
--- a/mercurial/win32.py Fri Mar 12 16:55:18 2021 -0500 +++ b/mercurial/win32.py Fri Mar 12 17:22:35 2021 -0500 @@ -20,10 +20,12 @@ pycompat, ) +# pytype: disable=module-attr _kernel32 = ctypes.windll.kernel32 _advapi32 = ctypes.windll.advapi32 _user32 = ctypes.windll.user32 _crypt32 = ctypes.windll.crypt32 +# pytype: enable=module-attr _BOOL = ctypes.c_long _WORD = ctypes.c_ushort @@ -311,7 +313,9 @@ _kernel32.GetCurrentProcessId.argtypes = [] _kernel32.GetCurrentProcessId.restype = _DWORD +# pytype: disable=module-attr _SIGNAL_HANDLER = ctypes.WINFUNCTYPE(_BOOL, _DWORD) +# pytype: enable=module-attr _kernel32.SetConsoleCtrlHandler.argtypes = [_SIGNAL_HANDLER, _BOOL] _kernel32.SetConsoleCtrlHandler.restype = _BOOL @@ -336,7 +340,9 @@ _user32.ShowWindow.argtypes = [_HANDLE, ctypes.c_int] _user32.ShowWindow.restype = _BOOL +# pytype: disable=module-attr _WNDENUMPROC = ctypes.WINFUNCTYPE(_BOOL, _HWND, _LPARAM) +# pytype: enable=module-attr _user32.EnumWindows.argtypes = [_WNDENUMPROC, _LPARAM] _user32.EnumWindows.restype = _BOOL @@ -357,7 +363,7 @@ code = _kernel32.GetLastError() if code > 0x7FFFFFFF: code -= 2 ** 32 - err = ctypes.WinError(code=code) + err = ctypes.WinError(code=code) # pytype: disable=module-attr raise OSError( err.errno, '%s: %s' % (encoding.strfromlocal(name), err.strerror) ) @@ -466,7 +472,7 @@ def peekpipe(pipe): - handle = msvcrt.get_osfhandle(pipe.fileno()) + handle = msvcrt.get_osfhandle(pipe.fileno()) # pytype: disable=module-attr avail = _DWORD() if not _kernel32.PeekNamedPipe( @@ -475,7 +481,7 @@ err = _kernel32.GetLastError() if err == _ERROR_BROKEN_PIPE: return 0 - raise ctypes.WinError(err) + raise ctypes.WinError(err) # pytype: disable=module-attr return avail.value @@ -506,10 +512,12 @@ size = 600 buf = ctypes.create_string_buffer(size + 1) len = _kernel32.GetModuleFileNameA(None, ctypes.byref(buf), size) + # pytype: disable=module-attr if len == 0: raise ctypes.WinError() # Note: WinError is a function elif len == size: raise ctypes.WinError(_ERROR_INSUFFICIENT_BUFFER) + # pytype: enable=module-attr return buf.value @@ -528,7 +536,8 @@ buf = ctypes.create_string_buffer(size) if not _kernel32.GetVolumePathNameA(realpath, ctypes.byref(buf), size): - raise ctypes.WinError() # Note: WinError is a function + # Note: WinError is a function + raise ctypes.WinError() # pytype: disable=module-attr return buf.value @@ -558,7 +567,8 @@ if not _kernel32.GetVolumeInformationA( volume, None, 0, None, None, None, ctypes.byref(name), size ): - raise ctypes.WinError() # Note: WinError is a function + # Note: WinError is a function + raise ctypes.WinError() # pytype: disable=module-attr return name.value @@ -568,7 +578,7 @@ size = _DWORD(300) buf = ctypes.create_string_buffer(size.value + 1) if not _advapi32.GetUserNameA(ctypes.byref(buf), ctypes.byref(size)): - raise ctypes.WinError() + raise ctypes.WinError() # pytype: disable=module-attr return buf.value @@ -589,7 +599,7 @@ h = _SIGNAL_HANDLER(handler) _signalhandler.append(h) # needed to prevent garbage collection if not _kernel32.SetConsoleCtrlHandler(h, True): - raise ctypes.WinError() + raise ctypes.WinError() # pytype: disable=module-attr def hidewindow(): @@ -686,7 +696,7 @@ ctypes.byref(pi), ) if not res: - raise ctypes.WinError() + raise ctypes.WinError() # pytype: disable=module-attr _kernel32.CloseHandle(pi.hProcess) _kernel32.CloseHandle(pi.hThread)