makeplots.py.html CLAWPACK  
 Source file:   makeplots.py
 Directory:   /Users/rjl/git/rjleveque/clawpack-4.6.3/doc/sphinx/example-acoustics-2d
 Converted:   Mon Jan 21 2013 at 20:15:53   using clawcode2html
 This documentation file will not reflect any later changes in the source file.

 

"""
Create plots corresponding to each sample setplot function.  Search for all
files of the form setplot_*.py and loop over them.

Also create .rst files for each example.  The doc string for each setplot
file should start with at title underlined with ===, followed by a brief
description.  These are used in the rst file, which also includes the
setplot function itself and a pointer to the plots directory.
"""

def makeplots(filenames=[]):
    import os, glob, re
    from pyclaw.plotters.plotclaw import plotclaw

    thisdir = os.path.split(os.getcwd())[1]

    #os.system('make .plots')   # ensure output files and sample plots exist
    os.system('make .htmls')   # ensure html files exist

    if filenames==[]:
        filenames = glob.glob('setplot_*.py')

    spnames = []

    for setplotfile in filenames:
        print '=== Making plots using ',setplotfile 

        regexp = re.compile(r'setplot_(?P.*).py')
        result = regexp.search(setplotfile)
        spname = result.group('spname')
        spnames.append(spname)

        plotdir = 'plots_%s' % spname
        plotclaw(outdir="_output", plotdir=plotdir, setplot=setplotfile)

    for spname in spnames:
        setplotfile = 'setplot_%s.py' % spname
        rstfile_name = 'plotexample-acou-2d-%s' % spname
        print '=== Making rst file %s.rst' % rstfile_name
        rstfile = open('../%s.rst' % rstfile_name, 'w')
        setplot_lines = open(setplotfile,'r').read()

        regexp = re.compile(r'"""(?P.*?)""" (?P.*)', \
                 re.DOTALL)
        result = regexp.search(setplot_lines)
        setplot_descr = result.group('descr')
        setplot_rest = result.group('rest')
        setplot_rest = setplot_rest.replace('\n','\n    ',1000)
        rstfile.write(""".. _%s: \n%s \n\n""" % (rstfile_name, setplot_descr))
        rstfile.write("Example generating data: ``_\n\n" \
                        % thisdir)
        rstfile.write("Resulting plots: ``_\n\n::\n" \
                        % (thisdir, spname))
        rstfile.write(setplot_rest)
        rstfile.close()

if __name__=='__main__':
    import sys
    makeplots(sys.argv[1:])