|
29 | 29 | import subprocess |
30 | 30 | import urllib.request |
31 | 31 |
|
| 32 | +from typing import AnyStr |
| 33 | + |
32 | 34 | logging.basicConfig( |
33 | 35 | format='[%(asctime)s] [%(name)s] [%(levelname)s] %(message)s', |
34 | 36 | level=logging.INFO, |
@@ -362,18 +364,20 @@ def download(): |
362 | 364 | ) |
363 | 365 |
|
364 | 366 |
|
365 | | -def printStandardStream(stdout, stderr): |
366 | | - if isinstance(stdout, bytes): |
367 | | - decoded_stdout = stdout.decode('utf-8', 'replace') |
| 367 | +def printStandardStream(stdout: AnyStr, stderr: AnyStr): |
| 368 | + if isinstance(stdout, str): |
| 369 | + encoded_stdout = stdout.encode() |
368 | 370 | else: |
369 | | - decoded_stdout = stdout |
| 371 | + encoded_stdout = stdout |
370 | 372 |
|
371 | | - if isinstance(stderr, bytes): |
372 | | - decoded_stderr = stderr.decode('utf-8', 'replace') |
| 373 | + if isinstance(stderr, str): |
| 374 | + encoded_stderr = stderr.encode() |
373 | 375 | else: |
374 | | - decoded_stderr = stderr |
| 376 | + encoded_stderr = stderr |
| 377 | + |
| 378 | + encoded_output = b'stdout:\n%sstderr:\n%s' % (encoded_stdout, encoded_stderr) |
375 | 379 |
|
376 | | - print(f'stdout:\n{decoded_stdout}stderr:\n{decoded_stderr}', flush=True) |
| 380 | + print(encoded_output.decode('utf-8', 'ignore'), flush=True) |
377 | 381 |
|
378 | 382 |
|
379 | 383 | def main(): |
|
0 commit comments