Merge branch 'master' of wazong.de:iron-blogger
Conflicts: bloggers.yml ledger
This commit is contained in:
commit
2893516e6b
|
@ -27,12 +27,12 @@ def fetch_links(url):
|
|||
|
||||
for (name, u) in users.items():
|
||||
for e in u['links']:
|
||||
(title, url) = e[0:2]
|
||||
(title, url) = e[1:3]
|
||||
try:
|
||||
e[0] = e[0].strip()
|
||||
e[1] = e[1].strip()
|
||||
except:
|
||||
e[0] = e[0]
|
||||
if len(e) == 3:
|
||||
e[1] = e[1]
|
||||
if len(e) == 4:
|
||||
continue
|
||||
link = fetch_links(url)
|
||||
if link:
|
||||
|
|
22
render.py
22
render.py
|
@ -76,8 +76,6 @@ def render_template(path, week=None, **kwargs):
|
|||
week_start = START + (week * datetime.timedelta(7))
|
||||
week_end = START + ((week + 1) * datetime.timedelta(7))
|
||||
|
||||
good = []
|
||||
lame = []
|
||||
skip = []
|
||||
skipped_users = []
|
||||
userlist = []
|
||||
|
@ -97,7 +95,9 @@ def render_template(path, week=None, **kwargs):
|
|||
u.end = rec.get('end')
|
||||
u.stop = rec.get('stop')
|
||||
u.skip = parse_skip(rec)
|
||||
u.weeks = report.get(un, [])
|
||||
u.posts = report.get(un, {})
|
||||
u.goodblogs = []
|
||||
u.lameblogs = []
|
||||
|
||||
userlist.append(u)
|
||||
|
||||
|
@ -118,21 +118,25 @@ def render_template(path, week=None, **kwargs):
|
|||
continue
|
||||
if u.end and parse(u.end, default=START) <= week_start:
|
||||
continue
|
||||
|
||||
if should_skip(u.skip, week):
|
||||
skipped_users.append(u)
|
||||
continue
|
||||
elif user_start > week_start:
|
||||
skip.append(u)
|
||||
elif len(u.weeks) <= week or not u.weeks[week]:
|
||||
lame.append(u)
|
||||
else:
|
||||
good.append(u)
|
||||
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:
|
||||
u.goodblogs.append(b)
|
||||
|
||||
debts = get_debts()
|
||||
|
||||
return Template(filename=path, output_encoding='utf-8').render(
|
||||
week=week, week_start=week_start,week_end=week_end,
|
||||
good=good, lame=lame, skip=skip, skipped_users=skipped_users, userlist=userlist,
|
||||
skip=skip, skipped_users=skipped_users, userlist=userlist,
|
||||
pool=(get_balance('Pool')-get_balance('Event')), paid=get_balance('Pool:Paid'),
|
||||
event=get_balance('Pool:Event'),
|
||||
debts=debts, punted=punted, **kwargs)
|
||||
|
|
|
@ -66,14 +66,16 @@ def parse_feeds(weeks, uri):
|
|||
|
||||
if len(sys.argv) > 1:
|
||||
for username in sys.argv[1:]:
|
||||
weeks = log.setdefault(username, [])
|
||||
blogs = log.setdefault(username, {})
|
||||
for l in users[username]['links']:
|
||||
parse_feeds(weeks, l[2])
|
||||
weeks = blogs.setdefault(l[0], [])
|
||||
parse_feeds(weeks, l[3])
|
||||
else:
|
||||
for (username, u) in users.items():
|
||||
weeks = log.setdefault(username, [])
|
||||
blogs = log.setdefault(username, {})
|
||||
for l in u['links']:
|
||||
parse_feeds(weeks, l[2])
|
||||
weeks = blogs.setdefault(l[0], [])
|
||||
parse_feeds(weeks, l[3])
|
||||
|
||||
with open('out/report.yml', 'w') as f:
|
||||
yaml.safe_dump(log, f)
|
||||
|
|
|
@ -2,16 +2,25 @@
|
|||
Subject: IRON BLOGGER results for the week beginning ${week_start.strftime("%F")}
|
||||
To: ${mail}
|
||||
|
||||
SLACKERS: ${", ".join(sorted([u.username for u in lame]))}
|
||||
SLACKERS:
|
||||
<% lame=0 %>
|
||||
% for u in sorted(userlist, key=lambda u:u.name[u.name.rfind(' '):].lower()):
|
||||
% for b in u.lameblogs:
|
||||
<% lame+=1 %> - ${u.name} in ${b}
|
||||
% endfor
|
||||
% endfor
|
||||
|
||||
% if punt:
|
||||
PUNTED for balance ≥$30: ${", ".join(sorted(punt))}
|
||||
% endif
|
||||
|
||||
People who posted:
|
||||
% for u in sorted(good, key=lambda u:u.name[u.name.rfind(' '):].lower()):
|
||||
${u.name} (${u.username}):
|
||||
% for p in u.weeks[week]:
|
||||
- ${p['url']}
|
||||
% for u in sorted(userlist, key=lambda u:u.name[u.name.rfind(' '):].lower()):
|
||||
% for b in u.goodblogs:
|
||||
${u.name} in ${b} (${u.username}):
|
||||
% for p in u.posts[b][week]:
|
||||
- ${p['url']}
|
||||
% endfor
|
||||
% endfor
|
||||
% endfor
|
||||
|
||||
|
@ -30,7 +39,7 @@ People who are currently skipped:
|
|||
% endif
|
||||
|
||||
Beer pool:
|
||||
This Week: € ${5 * len(lame)}
|
||||
This Week: € ${5 * lame}
|
||||
Total: € ${pool}
|
||||
Paid: € ${paid}
|
||||
Events: € ${event}
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
# This Python file uses the following encoding: utf-8
|
||||
% for u in sorted(lame, key=lambda u:u.username):
|
||||
${week_end.strftime("%F")} Week ${week}
|
||||
% for u in sorted(userlist, key=lambda u:u.username):
|
||||
% for b in u.lameblogs:
|
||||
${week_end.strftime("%F")} Week ${week}, Blog ${b}
|
||||
User:${u.username} $-5
|
||||
Pool:Owed:${u.username}
|
||||
% endfor
|
||||
% endfor
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
<td align="left" valign="top">
|
||||
% if u.links:
|
||||
% for a in u.links:
|
||||
<a href="${a[1]}">${a[0]}</a>
|
||||
<a href="${a[2]}">${a[1]}</a>
|
||||
% endfor
|
||||
% else:
|
||||
fehlt noch
|
||||
|
|
|
@ -1,30 +1,48 @@
|
|||
Zusammenfassung für die Woche ab ${week_start.strftime("%d.%m.%Y")}:
|
||||
Zusammenfassung der Woche ab ${week_start.strftime("%d.%m.%Y")}:
|
||||
<h3>Die Fleißigen:</h3>
|
||||
<dl>
|
||||
% for u in sorted(good, key=lambda u:u.name[u.name.rfind(' '):].lower()):
|
||||
% for u in sorted(userlist, key=lambda u:u.name[u.name.rfind(' '):].lower()):
|
||||
% for g in u.goodblogs:
|
||||
% for b in u.links:
|
||||
% if b[0] == g:
|
||||
<dt><span class="user"><strong>${u.name} </strong> \
|
||||
% if u.twitter != False:
|
||||
@<a href="http://twitter.com/${u.username}">${u.username}</a> \
|
||||
(@<a href="http://twitter.com/${u.username}">${u.username}</a>) \
|
||||
% endif
|
||||
% if len(u.links) != 1:
|
||||
in <a href="${b[2]}">${b[1]}</a> \
|
||||
% endif
|
||||
:</span></dt>
|
||||
<dd>
|
||||
<ul>
|
||||
% for p in u.weeks[week]:
|
||||
% for p in u.posts[g][week]:
|
||||
<li><a href="${p['url']}">${p['title'] or "[ohne Titel]"}</a></li>
|
||||
% endfor
|
||||
</ul>
|
||||
</dd>
|
||||
% endif
|
||||
% endfor
|
||||
% endfor
|
||||
% endfor
|
||||
</dl>
|
||||
|
||||
<h3>Die Faulen:</h3>
|
||||
<h3>Die Faulen:</h3> <% lame=0 %>
|
||||
<ul>
|
||||
% for u in sorted(lame, key=lambda u:u.name[u.name.rfind(' '):].lower()):
|
||||
<li class="user"><strong>${u.name} </strong> \
|
||||
% for u in sorted(userlist, key=lambda u:u.name[u.name.rfind(' '):].lower()):
|
||||
% for g in u.lameblogs:
|
||||
% for b in u.links:
|
||||
% if b[0] == g:
|
||||
<li class="user"><strong>${u.name} </strong> <% lame+=1 %> \
|
||||
% if u.twitter != False:
|
||||
@<a href="http://twitter.com/${u.username}">${u.username}</a> \
|
||||
% endif
|
||||
% if len(u.links) != 1:
|
||||
in <a href="${b[2]}">${b[1]}</a> \
|
||||
% endif
|
||||
</li>
|
||||
% endif
|
||||
% endfor
|
||||
% endfor
|
||||
% endfor
|
||||
</ul>
|
||||
|
||||
|
@ -65,9 +83,9 @@ Zusammenfassung für die Woche ab ${week_start.strftime("%d.%m.%Y")}:
|
|||
|
||||
<h3>Kasse:</h3>
|
||||
<table style="border-left-style:none; border-right-style:none;">
|
||||
<tr> <td> Diese Woche: </td> <td> ${5 * len(lame)} € </td> </tr>
|
||||
<tr> <td> Diese Woche: </td> <td> ${5 * lame} € </td> </tr>
|
||||
<tr> <td> Insgesamt: </td> <td> ${pool} €</td> </tr>
|
||||
<tr> <td> Beglichen: </td> <td> ${paid} €</td> </tr>
|
||||
<tr> <td> beglichen: </td> <td> ${paid} €</td> </tr>
|
||||
<tr> <td> verfeiert: </td> <td> ${event} €</td> </tr>
|
||||
</table>
|
||||
|
||||
|
@ -89,9 +107,11 @@ Zusammenfassung für die Woche ab ${week_start.strftime("%d.%m.%Y")}:
|
|||
%endif
|
||||
</table>
|
||||
|
||||
% if punted:
|
||||
<h3>Zuvor ausgeschieden (müssen 30 € für den Wiedereinstieg bezahlen):</h3>
|
||||
<ul>
|
||||
% for (u) in sorted(punted, key=lambda p:p.name[p.name.rfind(' '):].lower()):
|
||||
<li>${u.name} (seit ${u.end_de})</li>
|
||||
% endfor
|
||||
</ul>
|
||||
% endif
|
||||
|
|
Loading…
Reference in a new issue