From 65d1b043bf54e8a0cee95091b4667fab5631c166 Mon Sep 17 00:00:00 2001 From: "A. Svensson" Date: Sun, 8 Mar 2015 13:00:39 +0100 Subject: [PATCH] Use the new model in the views. --HG-- branch : history_model --- src/gameservers/views.py | 26 +++++++++++--------- src/templates/gameservers/server_detail.html | 10 ++------ 2 files changed, 16 insertions(+), 20 deletions(-) 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 @@ {{weekly_min}} {{weekly_max}} - - Total - {{total_average|floatformat}} - {{total_min}} - {{total_max}} -
@@ -62,8 +56,8 @@ $(function() { var series = [ {# convert timestamp to ms, because javascript... #} - {% for timestamp, players in player_history %} - [{{timestamp}} * 1000, {{players}}], + {% for item in weekly_history %} + [{{item.created|date:'U'}} * 1000, {{item.players}}], {% endfor %} ];