## -*- coding: utf-8 -*- Subject: IRON BLOGGER results for the week beginning ${week_start.strftime("%F")} To: ${mail} SLACKERS: ${", ".join(sorted([u.username for u in lame]))} % if punt: PUNTED for balance ≥$30: ${", ".join(sorted(punt))} % endif People who posted: % for u in sorted(good, key=lambda u:u.username): ${u.username}: % for p in u.weeks[week]: - ${p['url']} % endfor % endfor % if skip: People who have not yet started: % for u in sorted(skip, key=lambda u:u.username): ${u.username} % endfor % endif % if skipped_users: People who are currently skipped: % for u in sorted(skipped_users, key=lambda u:u.username): ${u.username} % endfor % endif Beer pool: This week: € ${5 * len(lame)} Total: € ${pool} Paid: € ${paid} Events: € ${event} Individual debts: % for (u, v) in sorted(debts, key=lambda p:p[1], reverse=True): ${u"%20s %d \u20AC" % (u, v)} % endfor PREVIOUSLY PUNTED (pay € 30 balance to return): % for (u) in sorted(punted, key=lambda p:p.username): ${"%20s (%s)" % (u.username, u.end)} % endfor