atom-xml partial support
[wrigit.git] / util.py
blobae0c0e65375b863b7110bbe4f8a1398684459bcd
1 import os
2 from mako.lookup import TemplateLookup
4 from cfg import cfg
7 # gnu make like functinality
8 def last_modified(filename):
9 return os.stat(filename).st_mtime
11 def make(target, deps, content_generator, *args, **kwargs):
12 if cfg['regen'] or not os.path.exists(target) or \
13 True in [last_modified(target) < last_modified(d) for d in deps]:
14 # requires update
15 print '>', target
16 content = content_generator(*args, **kwargs)
17 open(target, 'w').write(content)
19 def mako():
20 templates = TemplateLookup(directories=[cfg['templatedir']])
21 def render(name, **namespace):
22 import cgi
23 return templates.get_template(name).render(
24 cgi=cgi,
25 **namespace)
26 return render
27 mako = mako()