def get(self): sections = dict((c, []) for c in string.uppercase) new_users = [] entries_by_player = defaultdict(list) for e in entries.get_all_entries(): entries_by_player[e.user_id].append(e) for user in users.users_by_id().itervalues(): token = users.make_login_token(user) if not user.name: new_users.append((user, entries_by_player.get(user.key().id(), []), 0, token)) else: new_entries = 0 user_entries = [] for e in entries_by_player.get(user.key().id(), []): if e.activated: user_entries.append(e) else: new_entries += 1 sections[user.name[0].upper()].append((user, sorted(user_entries, key=lambda e: e.name), new_entries, token)) for section in sections.values(): section.sort(key=lambda x: x[0].name) new_users.sort(key=lambda x: x[0].created) view.render(self, 'users', { 'users': sorted(sections.items()), 'new_users': sorted(new_users, key=lambda x: x[0].email), }, css=True, js=True)
def get(self): data = defaultdict(list) entries_by_id = {} for e in entries.get_all_entries(): entries_by_id[e.key().id()] = e current_entry_id = None current_entry = None current_week = 1 for pick in entries.iterpicks(True): if current_entry_id != pick.entry_id: current_entry_id = pick.entry_id current_entry = entries_by_id[current_entry_id] current_week = 1 # fill empty weeks with buybacks while current_week < pick.week: data[current_entry.name].append({"status": "buyback", "team": ""}) current_week += 1 team = teams.shortname(pick.team) if pick.status not in (entries.Status.WIN, entries.Status.NONE): status = "violation" if pick.status == entries.Status.LOSS: status = "loss" if pick.buyback: status = "buyback" team = {"team": team, "status": status} data[entries_by_id[pick.entry_id].name].append(team) current_week += 1 return view.render_json(self, data)
def get(self): players = users.users_by_id() data = defaultdict(list) unknown = [] for e in entries.get_all_entries(): if e.user_id not in players: unknown.append((e.user_id, e.key().id())) continue data[players[e.user_id].email].append({ 'name': e.name, 'alive': e.alive }) buf = ['<table>'] n = 0 for name,ents in sorted(data.iteritems()): buf.append('<tr><td>%s</td><td>%d</td></tr>' % (name, len(ents))) n += len(ents) buf.append('</table>') buf.append('<br/>------------') buf.append('<br/>Total %d' % n) buf.append('<br/><br/>Unknown %s' % unknown) self.response.out.write(''.join(buf))