Limit weekly_averages to the past week.

This commit is contained in:
A. Svensson 2015-03-08 18:52:52 +01:00
parent 69920c29c1
commit 1d3e302978

View File

@ -44,6 +44,7 @@ class Server(models.Model):
def weekday_averages(self): def weekday_averages(self):
weekdays = [] weekdays = []
history = self.get_history_stats(days=7)
for i, day in enumerate(calendar.day_name): for i, day in enumerate(calendar.day_name):
# HACK: do some number juggling to convert from calendar to django, # HACK: do some number juggling to convert from calendar to django,
# because SOMEONE didn't bother to follow THE FUCKING STANDARD # because SOMEONE didn't bother to follow THE FUCKING STANDARD
@ -55,8 +56,8 @@ class Server(models.Model):
# (sunday = 1, monday = 2 etc.) # (sunday = 1, monday = 2 etc.)
i += 2 i += 2
if i > 7: i = 1 if i > 7: i = 1
tmp = ServerHistory.objects.filter(server=self, created__week_day=i) tmp = history.filter(created__week_day=i)
avg = tmp.aggregate(models.Avg('players'))['players__avg'] avg = tmp.aggregate(models.Avg('players'))['players__avg'] or 0
weekdays.append((day, int(avg))) weekdays.append((day, int(avg)))
return weekdays return weekdays