diff --git a/src/gameservers/views.py b/src/gameservers/views.py index d42bc66..25c88aa 100644 --- a/src/gameservers/views.py +++ b/src/gameservers/views.py @@ -1,8 +1,11 @@ +from datetime import timedelta + from django.shortcuts import render from django.views import generic +from django.utils import timezone -from .models import Server, PlayerHistory +from .models import Server, ServerHistory class ServerListView(generic.ListView): model = Server @@ -13,25 +16,24 @@ class ServerDetailView(generic.DetailView): def get_context_data(self, **kwargs): context = super(ServerDetailView, self).get_context_data(**kwargs) server = context['server'] - history = PlayerHistory() - items = history.get_history(server) - context['player_history'] = items + + weekly_history = ServerHistory.objects.filter( + server=server, + created__gte=timezone.now() - timedelta(days=7), + ) + context['weekly_history'] = weekly_history # Moving average for the last day - # TODO: remove the hardcoded value - tmp = [players for time, players in items[-96:]] + tmp = [tmp.players for tmp in ServerHistory.objects.filter( + server=server, + created__gte=timezone.now() - timedelta(days=1))] context['daily_average'] = sum(tmp) / float(len(tmp)) context['daily_min'] = min(tmp) context['daily_max'] = max(tmp) - tmp = [players for time, players in items[-96*7:]] + tmp = [tmp.players for tmp in weekly_history] context['weekly_average'] = sum(tmp) / float(len(tmp)) context['weekly_min'] = min(tmp) context['weekly_max'] = max(tmp) - - tmp = [players for time, players in items] - context['total_average'] = sum(tmp) / float(len(tmp)) - context['total_min'] = min(tmp) - context['total_max'] = max(tmp) return context diff --git a/src/templates/gameservers/server_detail.html b/src/templates/gameservers/server_detail.html index 500d732..67d1954 100644 --- a/src/templates/gameservers/server_detail.html +++ b/src/templates/gameservers/server_detail.html @@ -45,12 +45,6 @@