From ac4b33830ae8b3e0cc95236a1caad197ce1f74f8 Mon Sep 17 00:00:00 2001 From: 5bentz Date: Sun, 25 Mar 2018 17:49:14 +0200 Subject: [PATCH] Rewrite subprocess run (Python >= 3.5) --- src/passff.py | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/passff.py b/src/passff.py index 58f96c6..ec9549b 100755 --- a/src/passff.py +++ b/src/passff.py @@ -81,25 +81,19 @@ if __name__ == "__main__": # Set up subprocess params cmd = [command] + opt_args + ['--'] + pos_args proc_params = { + 'input': bytes(std_input, charset) if std_input else None, 'stdout': subprocess.PIPE, 'stderr': subprocess.PIPE, 'env': env } - if std_input is not None: - proc_params['stdin'] = subprocess.PIPE # Run and communicate with pass script - proc = subprocess.Popen(cmd, **proc_params) - if std_input is not None: - proc_in = bytes(std_input, charset) - proc_out, proc_err = proc.communicate(input=proc_in) - else: - proc_out, proc_err = proc.communicate() + proc = subprocess.run(cmd, **proc_params) # Send response sendMessage(encodeMessage({ "exitCode": proc.returncode, - "stdout": proc_out.decode(charset), - "stderr": proc_err.decode(charset), + "stdout": proc.stdout.decode(charset), + "stderr": proc.stderr.decode(charset), "version": VERSION }))