Example #1
0
 def post(self, week):
     week = int(week)
     title = self.request.POST.get('title')
     content = self.request.POST.get('content')
     if content:
         blog = breakdown.save_blog(week, title, content)
         view.render_json(self, build_blog_response(blog))
     post = self.request.POST.get('post') == 'true'
     if post:
         breakdown.post_blog(week)
Example #2
0
 def get(self):
     data = {}
     for t in games.team_rankings():
         team_name = str(t.key().name())
         data[teams.id(team_name)] = {
             'team': team_name,
             'wins': t.wins,
             'losses': t.losses,
             'power_rank': t.power_rank,
             'rush_defense': t.rush_defense_rank,
             'rush_offense': t.rush_offense_rank,
             'pass_defense': t.pass_defense_rank,
             'pass_offense': t.pass_offense_rank,
         }
     view.render_json(self, data)
Example #3
0
 def get(self, week):
     week = int(week)
     data = []
     for g in games.games_for_week(week):
         data.append({
             'date_str': g.date.strftime('%A, %b. %d'),
             'time_str': g.date.strftime('%I:%M %p').lstrip('0'),
             'datetime': time.mktime(g.tz_date().timetuple()),
             'deadline': time.mktime(g.tz_deadline().timetuple()),
             'favorite': teams.mascotname(g.favorite),
             'spread': g.spread,
             'home_team': {
                 'short': teams.shortname(g.home),
                 'city': teams.cityname(g.home),
                 'mascot': teams.mascotname(g.home),
                 'id': g.home,
                 'logo_x': g.home_x(),
                 'logo_y': g.home_y(),
             },
             'visiting_team': {
                 'short': teams.shortname(g.visiting),
                 'city': teams.cityname(g.visiting),
                 'mascot': teams.mascotname(g.visiting),
                 'id': g.visiting,
                 'logo_x': g.visiting_x(),
                 'logo_y': g.visiting_y(),
             }
         })
     if not data:
         return None
     return view.render_json(self, data)
    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)
Example #5
0
 def get(self, week):
     week = int(week)
     blog = breakdown.get_blog(week)
     (no_pick, picks, total) = breakdown.get_team_counts(week)
     status = breakdown.get_status_counts(week)
     data = {
         'blog': build_blog_response(blog),
         'stats': {
             'no_pick': no_pick,
             'teams': picks,
             'total': total,
             'wins': status.wins,
             'losses': status.losses,
             'violations': status.violations,
         },
     }
     view.render_json(self, data)
Example #6
0
 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)
Example #7
0
 def return_comments(self, week, limit, before=None, after=None):
     data = []
     count = 0
     for c in breakdown.get_comments(week, limit + 1, before=before, after=after):
         count += 1
         dt = copy.copy(c.created).replace(tzinfo=timezone.utc).astimezone(timezone.Pacific)
         data.append({
             'created_str': dt.strftime('%B %d, %H:%M %p').replace(' 0', ' '),
             'created': c.created_ts(),
             'text': c.text,
             'user': c.username,
         })
         if count == limit:
             break
     if data and before and data[-1]['created'] == int(before):
         # remove incorrectly match element from results...
         data = data[:-1]
         count -= 1
     data = {
         'limited': count >= limit,
         'comments': data
     }
     view.render_json(self, data)
Example #8
0
 def _redirect(self, path, real):
     if real:
         self.redirect(path)
     else:
         view.render_json(self, {'redirect': path})