From: Juergen Spitzmueller Date: Sun, 10 Sep 2017 15:02:58 +0000 (+0200) Subject: svg2*tex.py: use subprocess in order to handle path with spaces. X-Git-Tag: lyx-2.4.0dev-acb2ca7b~4570 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=90df39d491dfd72f0cd40dcda1b94b2df676936e;p=features.git svg2*tex.py: use subprocess in order to handle path with spaces. See #10679 --- diff --git a/lib/scripts/svg2pdftex.py b/lib/scripts/svg2pdftex.py index 06b542891c..56ac22edd4 100644 --- a/lib/scripts/svg2pdftex.py +++ b/lib/scripts/svg2pdftex.py @@ -27,13 +27,13 @@ # the real PDF file would be overwritten by a TeX file named outputfile.pdf. # -import os, sys, re +import os, sys, re, subprocess def runCommand(cmd): ''' Utility function: run a command, quit if fails ''' - if os.system(cmd) != 0: + if subprocess.call(cmd) != 0: print "Command '%s' fails." % cmd sys.exit(1) @@ -65,7 +65,7 @@ OutBase = os.path.splitext(OutputFile)[0] # while outsourcing the text to a LaTeX file ${OutBase}.pdf_tex which includes and overlays # the PDF image and can be \input to LaTeX files. We rename the latter file to ${OutputFile} # (although this is probably the name it already has). -runCommand('%s --file=%s --export-pdf=%s.pdf --export-latex' % (InkscapeCmd, InputFile, OutBase)) +runCommand([InkscapeCmd, '--file=%s' % (InputFile), '--export-pdf=%s.pdf' % (OutBase), '--export-latex']) os.rename('%s.pdf_tex' % OutBase, OutputFile) diff --git a/lib/scripts/svg2pstex.py b/lib/scripts/svg2pstex.py index 238afb6eba..246537b6ec 100644 --- a/lib/scripts/svg2pstex.py +++ b/lib/scripts/svg2pstex.py @@ -30,13 +30,13 @@ # This script converts an SVG image to something that latex can process # into high quality PostScript. -import os, sys +import os, sys, re, subprocess def runCommand(cmd): ''' Utility function: run a command, quit if fails ''' - if os.system(cmd) != 0: + if subprocess.call(cmd) != 0: print "Command '%s' fails." % cmd sys.exit(1) @@ -68,6 +68,7 @@ OutBase = os.path.splitext(OutputFile)[0] # while outsourcing the text to a LaTeX file ${OutBase}.eps_tex which includes and overlays # the EPS image and can be \input to LaTeX files. We rename the latter file to ${OutputFile} # (although this is probably the name it already has). -runCommand('%s --file=%s --export-eps=%s.eps --export-latex' % (InkscapeCmd, InputFile, OutBase)) +runCommand([InkscapeCmd, '--file=%s' % (InputFile), '--export-eps=%s.eps' % (OutBase), '--export-latex']) + os.rename('%s.eps_tex' % OutBase, OutputFile)