Port gnuplot2pdf.py to Python 3

Instead of wait(), use communicate(), as mentioned here:

  https://docs.python.org/3/library/subprocess.html

Otherwise, the process seems to hang as cautioned in the above URL.

Also, use byte strings.
This commit is contained in:
Scott Kostyshak 2019-08-29 20:48:34 -04:00
parent c138210672
commit db65b1a3c3

View File

@ -11,7 +11,7 @@ if (len(argv) != 3):
with open(argv[1], 'rb') as fsrc:
subproc = Popen("gnuplot", shell=True, stdin=PIPE)
subproc.stdin.write("set terminal pdf\nset output '%s'\n" % argv[2])
subproc.stdin.write(b"set terminal pdf\nset output '%s'\n" % argv[2].encode())
shutil.copyfileobj(fsrc, subproc.stdin)
subproc.stdin.write("exit\n")
subproc.wait()
subproc.stdin.write(b"exit\n")
subproc.communicate()