|
|
|
@ -1,4 +1,4 @@ |
|
|
|
|
#!/usr/bin/python |
|
|
|
|
#!/usr/bin/python3 |
|
|
|
|
# This Python file uses the following encoding: utf-8 |
|
|
|
|
import yaml |
|
|
|
|
from dateutil.parser import parse |
|
|
|
@ -29,6 +29,7 @@ def get_balance(acct): |
|
|
|
|
def get_debts(): |
|
|
|
|
p = subprocess.Popen(['ledger', '-f', os.path.join(HERE, 'ledger'), |
|
|
|
|
'-n', 'balance', 'Pool:Owed:'], |
|
|
|
|
universal_newlines=True, |
|
|
|
|
stdout=subprocess.PIPE) |
|
|
|
|
(out, _) = p.communicate() |
|
|
|
|
debts = [] |
|
|
|
@ -48,7 +49,7 @@ def parse_skip(rec): |
|
|
|
|
out = [] |
|
|
|
|
for s in spec: |
|
|
|
|
if isinstance(s, list): |
|
|
|
|
out.append(map(to_week_num, s)) |
|
|
|
|
out.append(list(map(to_week_num, s))) |
|
|
|
|
else: |
|
|
|
|
out.append(to_week_num(s)) |
|
|
|
|
return out |
|
|
|
@ -72,7 +73,7 @@ def render_template(path, week=None, **kwargs): |
|
|
|
|
else: |
|
|
|
|
week = START |
|
|
|
|
|
|
|
|
|
week = (week - START).days / 7 |
|
|
|
|
week = int( (week - START).days / 7) |
|
|
|
|
week_start = START + (week * datetime.timedelta(7)) |
|
|
|
|
week_end = START + ((week + 1) * datetime.timedelta(7)) |
|
|
|
|
|
|
|
|
@ -84,7 +85,7 @@ def render_template(path, week=None, **kwargs): |
|
|
|
|
class User(object): |
|
|
|
|
pass |
|
|
|
|
|
|
|
|
|
for (un, rec) in users.items(): |
|
|
|
|
for (un, rec) in list(users.items()): |
|
|
|
|
u = User() |
|
|
|
|
u.username = un |
|
|
|
|
u.name = rec['name'] |
|
|
|
@ -97,8 +98,8 @@ def render_template(path, week=None, **kwargs): |
|
|
|
|
u.stop = rec.get('stop') |
|
|
|
|
u.skip = parse_skip(rec) |
|
|
|
|
u.posts = report.get(un, {}) |
|
|
|
|
u.goodblogs = [] |
|
|
|
|
u.lameblogs = [] |
|
|
|
|
u.goodblogs = [] |
|
|
|
|
u.lameblogs = [] |
|
|
|
|
|
|
|
|
|
userlist.append(u) |
|
|
|
|
|
|
|
|
@ -121,13 +122,13 @@ def render_template(path, week=None, **kwargs): |
|
|
|
|
continue |
|
|
|
|
if should_skip(u.skip, week): |
|
|
|
|
skipped_users.append(u) |
|
|
|
|
continue |
|
|
|
|
continue |
|
|
|
|
elif user_start > week_start: |
|
|
|
|
skip.append(u) |
|
|
|
|
continue |
|
|
|
|
for blog in u.links: |
|
|
|
|
b=blog[0] |
|
|
|
|
weeks=u.posts[b] |
|
|
|
|
continue |
|
|
|
|
for blog in u.links: |
|
|
|
|
b=blog[0] |
|
|
|
|
weeks=u.posts[b] |
|
|
|
|
if len(weeks) <= week or not weeks[week]: |
|
|
|
|
u.lameblogs.append(b) |
|
|
|
|
else: |
|
|
|
@ -144,10 +145,10 @@ def render_template(path, week=None, **kwargs): |
|
|
|
|
|
|
|
|
|
if __name__ == '__main__': |
|
|
|
|
if len(sys.argv) < 2: |
|
|
|
|
print >>sys.stderr, "Usage: %s TEMPLATE [WEEK]" |
|
|
|
|
print("Usage: %s TEMPLATE [WEEK]", file=sys.stderr) |
|
|
|
|
sys.exit(1) |
|
|
|
|
|
|
|
|
|
template = sys.argv[1] |
|
|
|
|
week = None |
|
|
|
|
if len(sys.argv) > 2: week = sys.argv[2] |
|
|
|
|
print render_template(template, week) |
|
|
|
|
print(render_template(template, week)) |
|
|
|
|