render.py: Break out some more code

This commit is contained in:
Nelson Elhage 2010-05-31 20:40:55 -04:00
parent 5b056df8f2
commit 81be85441f
1 changed files with 22 additions and 18 deletions

View File

@ -12,6 +12,27 @@ from mako.template import Template
START = datetime.datetime(2009, 12, 21, 6)
HERE = os.path.dirname(__file__)
def get_balance(acct):
p = subprocess.Popen(['ledger', '-f', os.path.join(HERE,'ledger'),
'-n', 'balance', acct],
stdout=subprocess.PIPE)
(out, _) = p.communicate()
return float(out.split()[0][1:])
def get_debts():
p = subprocess.Popen(['ledger', '-f', os.path.join(HERE, 'ledger'),
'-n', 'balance', 'Pool:Owed:'],
stdout=subprocess.PIPE)
(out, _) = p.communicate()
debts = []
for line in out.split("\n"):
if not line: continue
(val, acct) = line.split()
user = acct[len("Pool:Owed:"):]
val = float(val[len("$"):])
debts.append((user, val))
return debts
def render_template(path, week=None):
with open('out/report.yml') as r:
report = yaml.safe_load(r)
@ -66,24 +87,7 @@ def render_template(path, week=None):
else:
good.append(u)
def get_balance(acct):
p = subprocess.Popen(['ledger', '-f', os.path.join(HERE,'ledger'),
'-n', 'balance', acct],
stdout=subprocess.PIPE)
(out, _) = p.communicate()
return float(out.split()[0][1:])
p = subprocess.Popen(['ledger', '-f', os.path.join(HERE,'ledger'),
'-n', 'balance', 'Pool:Owed:'],
stdout=subprocess.PIPE)
(out, _) = p.communicate()
debts = []
for line in out.split("\n"):
if not line: continue
(val, acct) = line.split()
user = acct[len("Pool:Owed:"):]
val = float(val[len("$"):])
debts.append((user, val))
debts = get_debts()
return Template(filename=path, output_encoding='utf-8').render(
week=week, week_start=week_start,week_end=week_end,