Subject: IRON BLOGGER results for the week beginning ${week_start.strftime("%F")} To: iron-blogger@mit.edu SLACKERS: ${", ".join(sorted([u.username for u in lame]))} PUNTED for balance greater than $30: ${", ".join(sorted(punt))} 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 Beer pool: This week: $${5 * len(lame)}.00 Total: $${pool} Paid: $${paid} Individual debts: % for (u, v) in sorted(debts, key=lambda p:p[1], reverse=True): ${"%20s $%d" % (u, v)} % endfor