##// END OF EJS Templates
more lints
M Bussonnier -
Show More
@@ -2,19 +2,6
2 2
3 3 This file is only meant to be imported by process.py, not by end-users.
4 4 """
5
6 #-----------------------------------------------------------------------------
7 # Copyright (C) 2010-2011 The IPython Development Team
8 #
9 # Distributed under the terms of the BSD License. The full license is in
10 # the file COPYING, distributed as part of this software.
11 #-----------------------------------------------------------------------------
12
13 #-----------------------------------------------------------------------------
14 # Imports
15 #-----------------------------------------------------------------------------
16
17 # stdlib
18 5 import ctypes
19 6 import os
20 7 import subprocess
@@ -25,18 +12,15 from ctypes.wintypes import HLOCAL, LPCWSTR
25 12 from subprocess import STDOUT
26 13 from threading import Thread
27 14 from types import TracebackType
28 from typing import IO, Any, List, Optional
15 from typing import List, Optional
29 16
30 17 from . import py3compat
31 18 from ._process_common import arg_split as py_arg_split
32 19
33 # our own imports
34 20 from ._process_common import process_handler, read_no_interrupt
35 21 from .encoding import DEFAULT_ENCODING
36 22
37 #-----------------------------------------------------------------------------
38 # Function definitions
39 #-----------------------------------------------------------------------------
23
40 24
41 25 class AvoidUNCPath:
42 26 """A context manager to protect command execution from UNC paths.
@@ -72,7 +56,10 class AvoidUNCPath:
72 56 return None
73 57
74 58 def __exit__(
75 self, exc_type: Optional[type[BaseException]], exc_value: Optional[BaseException], traceback:TracebackType
59 self,
60 exc_type: Optional[type[BaseException]],
61 exc_value: Optional[BaseException],
62 traceback: TracebackType,
76 63 ) -> None:
77 64 if self.is_unc_path:
78 65 os.chdir(self.path)
@@ -150,6 +137,7 def system(cmd: str) -> Optional[int]:
150 137 cmd = '"pushd %s &&"%s' % (path, cmd)
151 138 return process_handler(cmd, _system_body)
152 139
140
153 141 def getoutput(cmd: str) -> str:
154 142 """Return standard output of executing cmd in a shell.
155 143
@@ -171,9 +159,10 def getoutput(cmd: str) -> str:
171 159 out = process_handler(cmd, lambda p: p.communicate()[0], STDOUT)
172 160
173 161 if out is None:
174 out = b''
162 out = b""
175 163 return py3compat.decode(out)
176 164
165
177 166 try:
178 167 windll = ctypes.windll # type: ignore [attr-defined]
179 168 CommandLineToArgvW = windll.shell32.CommandLineToArgvW
@@ -209,11 +198,13 try:
209 198 )
210 199 if arg is not None
211 200 ]
212 LocalFree(result_pointer)
201 # for side effects
202 _ = LocalFree(result_pointer)
213 203 return result
214 204 except AttributeError:
215 205 arg_split = py_arg_split
216 206
207
217 208 def check_pid(pid: int) -> bool:
218 209 # OpenProcess returns 0 if no such process (of ours) exists
219 210 # positive int otherwise
General Comments 0
You need to be logged in to leave comments. Login now