mirror of
https://github.com/sqlalchemy/sqlalchemy.git
synced 2026-05-14 04:37:15 -04:00
45 lines
1.2 KiB
Python
45 lines
1.2 KiB
Python
import sys, re, os
|
|
import myghty.interp
|
|
import myghty.exception as exception
|
|
|
|
# document generation library
|
|
|
|
def genall(comps, component_root, output_dir):
|
|
interp = myghty.interp.Interpreter( component_root = component_root)
|
|
|
|
try:
|
|
for comp in comps:
|
|
gendoc(comp, interp, output_dir = output_dir)
|
|
except exception.Error, e:
|
|
sys.stderr.write(e.textformat())
|
|
|
|
|
|
def gendoc(doccomp, interp, output_dir):
|
|
component = interp.load(doccomp)
|
|
files = component.get_attribute('files')
|
|
index = component.get_attribute('index')
|
|
onepage = component.get_attribute('onepage')
|
|
|
|
genfile(index + ".myt", interp, output_dir)
|
|
|
|
for file in files:
|
|
file += '.myt'
|
|
genfile(file, interp, output_dir)
|
|
|
|
genfile(index + ".myt", interp, output_dir, outfile = onepage + ".html", args = {'paged':'no'})
|
|
|
|
|
|
|
|
def genfile(file, interp, output_dir, outfile = None, args = {}):
|
|
if outfile is None:
|
|
outfile = re.sub(r"\..+$", "%s" % '.html', file)
|
|
|
|
outfile = os.path.join(output_dir, outfile)
|
|
print "%s -> %s" % (file, outfile)
|
|
outbuf = open(outfile, "w")
|
|
|
|
interp.execute(file, out_buffer = outbuf, request_args = args, raise_error = True)
|
|
|
|
outbuf.close()
|
|
|