-
Christoph Groth authoredChristoph Groth authored
generate.py 1.08 KiB
import os
import yaml
from mako.lookup import TemplateLookup
import pyrtek, pyrtek.rst, pyrtek.mako
mako_filter = pyrtek.mako.Filter(TemplateLookup(['../templates']))
rst_filter = pyrtek.rst.Filter()
filters = {'mako': mako_filter,
'rst': rst_filter,
'default': pyrtek.chain_filters(rst_filter, mako_filter)}
default_meta = {'__filter__': 'default',
'__template__': 'default.mako'}
# rexp, repl, priority, func
rules = [(r'(.*)\.txt$', r'\1.html', 0,
lambda s, d: pyrtek.Text(s, d, filters, default_meta))]
def main():
# Load catalog, if it exists.
try:
with open('catalog.yaml') as f:
catalog = yaml.load(f)
except IOError:
catalog = {}
# The following block of code is executed inside the content directory.
saved_cwd = os.getcwd();
os.chdir('content')
try:
catalog = pyrtek.build(pyrtek.expand_rules(rules), catalog)
finally:
os.chdir(saved_cwd)
# Save catalog.
with open('catalog.yaml', 'w') as f:
yaml.dump(catalog, f)
if __name__ == '__main__':
main()