diff --git a/lib/extensions/output.py b/lib/extensions/output.py index 1dc8d19d5..f3bb0a802 100644 --- a/lib/extensions/output.py +++ b/lib/extensions/output.py @@ -36,10 +36,15 @@ class Output(InkstitchExtension): write_embroidery_file(temp_file.name, stitch_plan, self.document.getroot()) + if sys.platform == "win32": + import msvcrt + msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY) + # inkscape will read the file contents from stdout and copy # to the destination file that the user chose - with open(temp_file.name) as output_file: + with open(temp_file.name, "rb") as output_file: sys.stdout.write(output_file.read()) + sys.stdout.flush() # clean up the temp file os.remove(temp_file.name) diff --git a/stub.py b/stub.py index dae2a28fb..9c316b997 100644 --- a/stub.py +++ b/stub.py @@ -43,6 +43,10 @@ except: print >> sys.stderr, traceback.format_exc() sys.exit(1) +if sys.platform == "win32": + import msvcrt + msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY) + stdout = stdout.strip() if stdout: print stdout.strip(),