def post(self, entry_id): entry_id = int(entry_id) team = int(self.request.POST.get('team')) week = weeks.current() game = games.game_for_team(week, team) current_pick = entries.pick_for_entry(entry_id, week) current_game = games.game_for_team(week, current_pick.team) current_time = weeks.current_time() if current_time < weeks.deadline(week) and \ current_time < game.tz_deadline() and \ (current_game is None or current_time < current_game.tz_deadline()): entries.select_team(entry_id, weeks.current(), team) else: logging.warning('Attempt to set pick after deadline, user %s, team %s', self.user.name, teams.shortname(team)) self.abort(403)
def get(self): week = weeks.current() user_entries = entries.entries_for_user(self.user) user_picks = entries.picks_for_user(self.user, week) picks = [] for pick in user_picks.itervalues(): entry = user_entries[pick.entry_id] if entry.activated: picks.append((entry.name, entry.key().id(), pick)) args = { 'week': week, 'picks': sorted(picks), 'current_time': time.mktime(weeks.current_time().timetuple()), 'deadline': weeks.deadline(week), 'deadline_passed': not weeks.check_deadline(week), } logging.debug(args) view.render(self, 'picks', args, css=True, js=True)
def get(self): week = weeks.current() current_time = weeks.current_time() if current_time > weeks.deadline(week): closed = entries.close_picks(week) if closed > 0: view.clear_cache('/results/data') counts = entries.get_team_counts(week) logging.info('Saving counts: %s', counts) breakdown.save_team_counts(week, counts) breakdown.save_status_counts(week, 0, 0, entries.num_violations(week)) self.redirect('/admin') return past_deadline = [] for g in games.open_past_deadline(week, current_time): past_deadline.append(g.home) past_deadline.append(g.visiting) closed = entries.close_picks(week, past_deadline) if closed > 0: view.clear_cache('/results/data') self.redirect('/admin')