def test_caching(self): self._give_points() with self.assertNumQueries(1): ReviewerScore.get_total(self.user) with self.assertNumQueries(0): ReviewerScore.get_total(self.user) with self.assertNumQueries(1): ReviewerScore.get_recent(self.user) with self.assertNumQueries(0): ReviewerScore.get_recent(self.user) with self.assertNumQueries(1): ReviewerScore.get_leaderboards(self.user) with self.assertNumQueries(0): ReviewerScore.get_leaderboards(self.user) with self.assertNumQueries(1): ReviewerScore.get_performance(self.user) with self.assertNumQueries(0): ReviewerScore.get_performance(self.user) # New points invalidates all caches. self._give_points() with self.assertNumQueries(1): ReviewerScore.get_total(self.user) with self.assertNumQueries(1): ReviewerScore.get_recent(self.user) with self.assertNumQueries(1): ReviewerScore.get_leaderboards(self.user) with self.assertNumQueries(1): ReviewerScore.get_performance(self.user)
def test_caching(self): self._give_points() with self.assertNumQueries(1): ReviewerScore.get_total(self.user) with self.assertNumQueries(0): ReviewerScore.get_total(self.user) with self.assertNumQueries(1): ReviewerScore.get_recent(self.user) with self.assertNumQueries(0): ReviewerScore.get_recent(self.user) with self.assertNumQueries(1): ReviewerScore.get_leaderboards(self.user) with self.assertNumQueries(0): ReviewerScore.get_leaderboards(self.user) with self.assertNumQueries(1): ReviewerScore.get_performance(self.user) with self.assertNumQueries(0): ReviewerScore.get_performance(self.user) # New points invalidates all caches. self._give_points() with self.assertNumQueries(1): ReviewerScore.get_total(self.user) with self.assertNumQueries(1): ReviewerScore.get_recent(self.user) with self.assertNumQueries(1): ReviewerScore.get_leaderboards(self.user) with self.assertNumQueries(1): ReviewerScore.get_performance(self.user)
def performance(request, username=None): is_admin = acl.action_allowed(request, 'Admin', '%') if username: if username == request.user.username: user = request.user elif is_admin: user = get_object_or_404(UserProfile, username=username) else: raise http.Http404 else: user = request.user today = datetime.date.today() month_ago = today - datetime.timedelta(days=30) year_ago = today - datetime.timedelta(days=365) total = ReviewerScore.get_total(user) totals = ReviewerScore.get_performance(user) months = ReviewerScore.get_performance_since(user, month_ago) years = ReviewerScore.get_performance_since(user, year_ago) def _sum(iter): return sum(s.total or 0 for s in iter) performance = { 'month': _sum(months), 'year': _sum(years), 'total': _sum(totals), } ctx = context( request, **{ 'profile': user, 'total': total, 'performance': performance, }) return render(request, 'reviewers/performance.html', ctx)
def performance(request, email=None): is_admin = acl.action_allowed(request, 'Admin', '%') if email: if email == request.user.email: user = request.user elif is_admin: user = get_object_or_404(UserProfile, email=email) else: raise http.Http404 else: user = request.user today = datetime.date.today() month_ago = today - datetime.timedelta(days=30) year_ago = today - datetime.timedelta(days=365) total = ReviewerScore.get_total(user) totals = ReviewerScore.get_performance(user) months = ReviewerScore.get_performance_since(user, month_ago) years = ReviewerScore.get_performance_since(user, year_ago) def _sum(iter): return sum(s.total or 0 for s in iter) performance = { 'month': _sum(months), 'year': _sum(years), 'total': _sum(totals), } ctx = context(request, **{ 'profile': user, 'total': total, 'performance': performance, }) return render(request, 'reviewers/performance.html', ctx)
def test_get_performance(self): self._give_points() ReviewerScore.award_moderation_points(self.user, self.app, 1) performance = ReviewerScore.get_performance(self.user) eq_(len(performance), 1)
def test_get_performance(self): self._give_points() ReviewerScore.award_moderation_points(self.user, self.app, 1) performance = ReviewerScore.get_performance(self.user) eq_(len(performance), 1)