def activate_contest(request, contest): request.contest = contest set_cc_id(contest.id if contest else None) if not contest: return recent_contests = request.session.get('recent_contests', []) if not recent_contests or recent_contests[0] != contest.id: try: del recent_contests[recent_contests.index(contest.id)] except ValueError: pass recent_contests = [contest.id] + recent_contests recent_contests = \ recent_contests[:getattr(settings, 'NUM_RECENT_CONTESTS', 5)] request.session['recent_contests'] = recent_contests if not request.real_user.is_anonymous() \ and not request.session.get('first_view_after_logging', False): cv, created = ContestView.objects \ .get_or_create(user=request.real_user, contest=contest) # Do not repeatedly update timestamp for latest contest. if cv != ContestView.objects.filter(user=request.real_user).latest() \ or created: cv.timestamp = request.timestamp cv.save()
def response_delete(self, request): set_cc_id(None) return super(ContestAdmin, self).response_delete(request)
def pytest_runtest_setup(item): set_cc_id(None)
def startTest(self, test): set_cc_id(None)