diff options
Diffstat (limited to 'bin/reportlab/graphics/samples/runall.py')
| -rw-r--r-- | bin/reportlab/graphics/samples/runall.py | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/bin/reportlab/graphics/samples/runall.py b/bin/reportlab/graphics/samples/runall.py new file mode 100644 index 00000000000..938ab8fec42 --- /dev/null +++ b/bin/reportlab/graphics/samples/runall.py @@ -0,0 +1,59 @@ +# runs all the GUIedit charts in this directory - +# makes a PDF sample for eaxh existing chart type +import sys +import glob +import string +import inspect +import types + +def moduleClasses(mod): + def P(obj, m=mod.__name__, CT=types.ClassType): + return (type(obj)==CT and obj.__module__==m) + try: + return inspect.getmembers(mod, P)[0][1] + except: + return None + +def getclass(f): + return moduleClasses(__import__(f)) + +def run(format, VERBOSE=0): + formats = string.split(format, ',') + for i in range(0, len(formats)): + formats[i] == string.lower(string.strip(formats[i])) + allfiles = glob.glob('*.py') + allfiles.sort() + for fn in allfiles: + f = string.split(fn, '.')[0] + c = getclass(f) + if c != None: + print c.__name__ + try: + for fmt in formats: + if fmt: + c().save(formats=[fmt],outDir='.',fnRoot=c.__name__) + if VERBOSE: + print " %s.%s" % (c.__name__, fmt) + except: + print " COULDN'T CREATE '%s.%s'!" % (c.__name__, format) + +if __name__ == "__main__": + if len(sys.argv) == 1: + run('pdf,pict,png') + else: + try: + if sys.argv[1] == "-h": + print 'usage: runall.py [FORMAT] [-h]' + print ' if format is supplied is should be one or more of pdf,gif,eps,png etc' + print ' if format is missing the following formats are assumed: pdf,pict,png' + print ' -h prints this message' + else: + t = sys.argv[1:] + for f in t: + run(f) + except: + print 'usage: runall.py [FORMAT][-h]' + print ' if format is supplied is should be one or more of pdf,gif,eps,png etc' + print ' if format is missing the following formats are assumed: pdf,pict,png' + print ' -h prints this message' + raise |
