11"""
22Script to build the the dot2tex examples.
33"""
4-
5- import re , os , shutil , glob , sys , logging
4+ import glob
5+ import logging
6+ import os
7+ import re
8+ import shutil
9+ import subprocess
10+ import sys
611
712from os .path import join , basename , splitext , normpath , abspath
813
@@ -30,7 +35,8 @@ def copyifnewer(source, dest):
3035 source_ts = os .path .getmtime (source )
3136 dest_ts = os .path .getmtime (dest )
3237 # compare timestamps
33- if source_ts > dest_ts : copy = True
38+ if source_ts > dest_ts :
39+ copy = True
3440 else :
3541 copy = True
3642 dir = os .path .dirname (dest )
@@ -42,36 +48,40 @@ def copyifnewer(source, dest):
4248
4349
4450def runcmd (syscmd ):
45- #err = os.system(syscmd)
46- sres = os .popen (syscmd )
47- resdata = sres .read ()
48- err = sres .close ()
51+ """
52+ Run a system command.
53+ """
54+ result = subprocess .run (syscmd , text = True , capture_output = True )
55+ err = result .returncode
4956 if err :
5057 log .warning ('Failed to run command:\n %s' , syscmd )
51- log .debug ('Output:\n %s' , resdata )
58+ log .debug ('Output:\n %s' , result )
5259 return err
5360
5461
5562def meps (filename ):
5663 fn = splitext (filename )[0 ]
5764 s = "latex -halt-on-error -interaction nonstopmode %s.tex" % fn
5865 err = runcmd (s )
59- if err : return err
66+ if err :
67+ return err
6068 if sys .platform == 'win32' :
6169 s = "dvips -Ppdf -G0 -D600 -E* -o%s.eps %s.dvi" % (fn , fn )
6270 err = runcmd (s )
63- if err : return err
71+ if err :
72+ return err
6473 s = "epstool --bbox --copy --output %s_tmp.eps %s.eps" % (fn , fn )
6574 err = runcmd (s )
66- if err : return err
75+ if err :
76+ return err
6777 try :
6878 os .remove ("%s.eps" % fn )
6979 os .remove ("%s.dvi" % fn )
7080 os .remove ("%s.aux" % fn )
7181 os .remove ("%s.log" % fn )
72- #os.remove("%s.pgf" % fn)
82+ # os.remove("%s.pgf" % fn)
7383
74- except :
84+ except OSError :
7585 raise
7686 os .rename ("%s_tmp.eps" % fn , "%s.eps" % fn )
7787 s = "epstopdf %s.eps" % fn
@@ -81,7 +91,8 @@ def meps(filename):
8191 err = runcmd (s )
8292 s = "ps2eps -B -f %s.ps" % fn
8393 err = runcmd (s )
84- if err : return err
94+ if err :
95+ return err
8596 s = "epstopdf %s.eps" % fn
8697 err = runcmd (s )
8798
@@ -117,24 +128,22 @@ def make_img(c, filenm, name):
117128 return err
118129
119130 if (c .find ('--crop' ) > - 1 ):
120- #os.system('del %s.png %s.jpg' % (name,name))
131+ # os.system('del %s.png %s.jpg' % (name,name))
121132 err = create_pdf (filename )
122- #print("using mppdf")
133+ # print("using mppdf")
123134 else :
124135 err = meps (filename )
125136
126137 return err
127138
128139
129140def build_gallery (filelist ):
130- #os.chdir(EXAMPLES_DIR)
131- entrylist = []
141+ # os.chdir(EXAMPLES_DIR)
132142 failedfiles = []
133143 for file in filelist :
134144 f = open (file , 'r' )
135145 data = f .read ()
136146 f .close ()
137- entry = {}
138147 dirname , filename = os .path .split (file )
139148 os .chdir (dirname )
140149 name = os .path .splitext (filename )[0 ]
@@ -167,13 +176,10 @@ def build_gallery(filelist):
167176
168177 failedfiles = build_gallery (filelist )
169178 if failedfiles :
170- log .warning ('Failed files: %s' , failedfiles );
179+ log .warning ('Failed files: %s' , failedfiles )
171180 sys .exit (1 )
172181 else :
173182 print ("All tests passed!" )
174183 sys .exit (0 )
175184
176- #filelist=['distances.dot','tikzshapes.dot']
177-
178-
179-
185+ # filelist=['distances.dot','tikzshapes.dot']
0 commit comments