Ran black code formatter on everything.
[python_utils.git] / exec_utils.py
index b4e88bda36361064591d2c336f787e4fb234ae37..016310793152ddeb8872f5ec279c26ae1994655e 100644 (file)
@@ -12,7 +12,9 @@ from typing import List, Optional
 logger = logging.getLogger(__file__)
 
 
 logger = logging.getLogger(__file__)
 
 
-def cmd_showing_output(command: str, ) -> int:
+def cmd_showing_output(
+    command: str,
+) -> int:
     """Kick off a child process.  Capture and print all output that it
     produces on stdout and stderr.  Wait for the subprocess to exit
     and return the exit value as the return code of this function.
     """Kick off a child process.  Capture and print all output that it
     produces on stdout and stderr.  Wait for the subprocess to exit
     and return the exit value as the return code of this function.
@@ -46,6 +48,8 @@ def cmd_showing_output(command: str, ) -> int:
                 if char in line_enders:
                     sys.stderr.flush()
     p.wait()
                 if char in line_enders:
                     sys.stderr.flush()
     p.wait()
+    sys.stdout.flush()
+    sys.stderr.flush()
     return p.returncode
 
 
     return p.returncode
 
 
@@ -117,25 +121,30 @@ def run_silently(command: str, timeout_seconds: Optional[float] = None) -> None:
 
 
 def cmd_in_background(
 
 
 def cmd_in_background(
-        command: str, *, silent: bool = False
+    command: str, *, silent: bool = False
 ) -> subprocess.Popen:
     args = shlex.split(command)
     if silent:
 ) -> subprocess.Popen:
     args = shlex.split(command)
     if silent:
-        subproc = subprocess.Popen(args,
-                                   stdin=subprocess.DEVNULL,
-                                   stdout=subprocess.DEVNULL,
-                                   stderr=subprocess.DEVNULL)
+        subproc = subprocess.Popen(
+            args,
+            stdin=subprocess.DEVNULL,
+            stdout=subprocess.DEVNULL,
+            stderr=subprocess.DEVNULL,
+        )
     else:
         subproc = subprocess.Popen(args, stdin=subprocess.DEVNULL)
 
     def kill_subproc() -> None:
         try:
             if subproc.poll() is None:
     else:
         subproc = subprocess.Popen(args, stdin=subprocess.DEVNULL)
 
     def kill_subproc() -> None:
         try:
             if subproc.poll() is None:
-                logger.info("At exit handler: killing {}: {}".format(subproc, command))
+                logger.info(
+                    "At exit handler: killing {}: {}".format(subproc, command)
+                )
                 subproc.terminate()
                 subproc.wait(timeout=10.0)
         except BaseException as be:
             logger.exception(be)
                 subproc.terminate()
                 subproc.wait(timeout=10.0)
         except BaseException as be:
             logger.exception(be)
+
     atexit.register(kill_subproc)
     return subproc
 
     atexit.register(kill_subproc)
     return subproc
 
@@ -150,4 +159,5 @@ def cmd_list(command: List[str]) -> str:
 
 if __name__ == '__main__':
     import doctest
 
 if __name__ == '__main__':
     import doctest
+
     doctest.testmod()
     doctest.testmod()