render.py: Make pool size available to templates

This commit is contained in:
Nelson Elhage 2010-02-01 21:43:10 -05:00
parent 80051bb9c8
commit 60b087f32a
3 changed files with 13 additions and 3 deletions

View File

@ -5,9 +5,12 @@ import datetime
import dateutil.tz as tz import dateutil.tz as tz
import sys import sys
import os import os
import os.path
import subprocess
from mako.template import Template from mako.template import Template
START = datetime.datetime(2009, 12, 21, 6) START = datetime.datetime(2009, 12, 21, 6)
HERE = os.path.dirname(__file__)
def render_template(path, week=None): def render_template(path, week=None):
with open('out/report.yml') as r: with open('out/report.yml') as r:
@ -55,9 +58,16 @@ def render_template(path, week=None):
else: else:
good.append(u) good.append(u)
p = subprocess.Popen(['ledger', '-f', os.path.join(HERE,'ledger'),
'-n', 'balance', 'Pool'],
stdout=subprocess.PIPE)
(out, _) = p.communicate()
pool = int(out.split()[0][1:])
return Template(filename=path, output_encoding='utf-8').render( return Template(filename=path, output_encoding='utf-8').render(
week=week, week_start=week_start,week_end=week_end, week=week, week_start=week_start,week_end=week_end,
good=good, lame=lame, skip=skip, userlist=userlist) good=good, lame=lame, skip=skip, userlist=userlist,
pool=pool)
if __name__ == '__main__': if __name__ == '__main__':
if len(sys.argv) < 2: if len(sys.argv) < 2:

View File

@ -24,4 +24,4 @@ People who have not yet started:
Beer pool: Beer pool:
This week: $${5 * len(lame)}.00 This week: $${5 * len(lame)}.00
Total: $.00 Total: $${pool}.00

View File

@ -30,5 +30,5 @@
<h2>Beer pool:</h2> <h2>Beer pool:</h2>
<table> <table>
<tr> <td> This week: </td> <td> $${5 * len(lame)}.00 </td> </tr> <tr> <td> This week: </td> <td> $${5 * len(lame)}.00 </td> </tr>
<tr> <td> Total: </td> <td> $X.00 </td> </tr> <tr> <td> Total: </td> <td> ${pool}.00 </td> </tr>
</table> </table>