diff options
Diffstat (limited to 'bin/reportlab/docs/userguide/genuserguide.py')
| -rw-r--r-- | bin/reportlab/docs/userguide/genuserguide.py | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/bin/reportlab/docs/userguide/genuserguide.py b/bin/reportlab/docs/userguide/genuserguide.py new file mode 100644 index 00000000000..3166a6a6036 --- /dev/null +++ b/bin/reportlab/docs/userguide/genuserguide.py @@ -0,0 +1,85 @@ +#!/bin/env python +#Copyright ReportLab Europe Ltd. 2000-2004 +#see license.txt for license details +#history http://www.reportlab.co.uk/cgi-bin/viewcvs.cgi/public/reportlab/trunk/reportlab/docs/userguide/genuserguide.py +__version__=''' $Id: genuserguide.py 2900 2006-05-22 21:49:00Z andy $ ''' +__doc__ = """ +This module contains the script for building the user guide. +""" +def run(pagesize=None, verbose=0, outDir=None): + import os + from reportlab.tools.docco.rl_doc_utils import setStory, getStory, RLDocTemplate, defaultPageSize + from reportlab.tools.docco import rl_doc_utils + from reportlab.lib.utils import open_and_read, _RL_DIR + if not outDir: outDir = os.path.join(_RL_DIR,'docs') + destfn = os.path.join(outDir,'userguide.pdf') + doc = RLDocTemplate(destfn,pagesize = pagesize or defaultPageSize) + + #this builds the story + setStory() + G = {} + exec 'from reportlab.tools.docco.rl_doc_utils import *' in G, G + for f in ( + 'ch1_intro', + 'ch2_graphics', + 'ch2a_fonts', + 'ch3_pdffeatures', + 'ch4_platypus_concepts', + 'ch5_paragraphs', + 'ch6_tables', + 'ch7_custom', + 'ch9_future', + 'app_demos', + ): + exec open_and_read(f+'.py',mode='t') in G, G + del G + + story = getStory() + if verbose: print 'Built story contains %d flowables...' % len(story) + doc.build(story) + if verbose: print 'Saved "%s"' % destfn + +def makeSuite(): + "standard test harness support - run self as separate process" + from reportlab.test.utils import ScriptThatMakesFileTest + return ScriptThatMakesFileTest('../docs/userguide', 'genuserguide.py', 'userguide.pdf') + +def main(): + import sys + outDir = filter(lambda x: x[:9]=='--outdir=',sys.argv) + if outDir: + outDir = outDir[0] + sys.argv.remove(outDir) + outDir = outDir[9:] + else: + outDir = None + verbose = '-s' not in sys.argv + if not verbose: sys.argv.remove('-s') + timing = '-timing' in sys.argv + if timing: sys.argv.remove('-timing') + prof = '-prof' in sys.argv + if prof: sys.argv.remove('-prof') + + if len(sys.argv) > 1: + try: + pagesize = (w,h) = eval(sys.argv[1]) + except: + print 'Expected page size in argument 1', sys.argv[1] + raise + if verbose: + print 'set page size to',sys.argv[1] + else: + pagesize = None + if timing: + from time import time + t0 = time() + run(pagesize, verbose,outDir) + if verbose: + print 'Generation of userguide took %.2f seconds' % (time()-t0) + elif prof: + import profile + profile.run('run(pagesize,verbose,outDir)','genuserguide.stats') + else: + run(pagesize, verbose,outDir) +if __name__=="__main__": + main() |
