render.py: Break out some more code
This commit is contained in:
parent
5b056df8f2
commit
81be85441f
40
render.py
40
render.py
|
@ -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,
|
||||
|
|
Loading…
Reference in New Issue