Skip to content

Instantly share code, notes, and snippets.

@kleisauke
Created June 20, 2023 08:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kleisauke/4fc7a7c1af8ca09e1fc03f0668d9063a to your computer and use it in GitHub Desktop.
Save kleisauke/4fc7a7c1af8ca09e1fc03f0668d9063a to your computer and use it in GitHub Desktop.
#!/usr/bin/env python3
import sys
import subprocess
def eprint(*args, **kwargs):
print(*args, file=sys.stderr, **kwargs)
def etrace(str):
eprint("[TRACE] ", str)
args = sys.argv[1:]
process = subprocess.Popen(args,
stdout=subprocess.PIPE,
stderr=sys.stderr,
stdin=subprocess.PIPE,
universal_newlines=True)
etrace(args)
for input in sys.stdin:
if "invalid_request" in input:
continue
etrace(input.strip())
process.stdin.write(input)
process.stdin.close()
etrace("Done sending input...")
for output in process.stdout.readlines():
etrace("Printing output...")
etrace(output.strip())
print(output.strip())
etrace("Done receiving output...")
return_code = process.poll()
etrace("Return code: " + str(return_code))
exit(return_code)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment