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): current_entry = None base = defaultdict(int) buybacks = defaultdict(int) prev_week = 0 for p in entries.iterpicks(): if current_entry != p.entry_id: current_entry = p.entry_id base[p.week] += 1 prev_week = 0 if p.buyback: buybacks[p.week] += p.week - prev_week prev_week = p.week data = { 'buybacks': dict((w,t*25) for w,t in buybacks.iteritems()), 'weeks': dict((w,t*w*25) for w,t in base.iteritems()) } data['total'] = sum(t for t in data['buybacks'].itervalues()) \ + sum(t for t in data['weeks'].itervalues()) view.render_json(self, data)