]> git.lyx.org Git - features.git/commitdiff
svg2*tex.py: use subprocess in order to handle path with spaces.
authorJuergen Spitzmueller <spitz@lyx.org>
Sun, 10 Sep 2017 15:02:58 +0000 (17:02 +0200)
committerJuergen Spitzmueller <spitz@lyx.org>
Sun, 10 Sep 2017 15:04:49 +0000 (17:04 +0200)
See #10679

lib/scripts/svg2pdftex.py
lib/scripts/svg2pstex.py

index 06b542891ccbf642e3659e5ee1a70fa37d247d30..56ac22edd46bb1e824df1652cea24ed7d495dab0 100644 (file)
 #   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)
 
index 238afb6eba12e5ca67da0decd4fcf081959aab8c..246537b6ec6fe6946c5d3a7bee71ba3e70184772 100644 (file)
 # 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)