diff --git a/marietje/stats/templates/stats/stats.html b/marietje/stats/templates/stats/stats.html index 90042d5..be52e7e 100644 --- a/marietje/stats/templates/stats/stats.html +++ b/marietje/stats/templates/stats/stats.html @@ -66,34 +66,8 @@ -
-

Time Requested

-

Total: {{stats.total_time_requested}}

-

Top {{ stats.stats_top_count }}:

-
- - - - - - - - - - {% for stat in stats.time_requested %} - - - - - - {% endfor %} - -
#UserDuration
{{ forloop.counter }}{{ stat.user__name }}{{ stat.duration }}
-
-

Unique requests

-

Total: {{stats.total_unique_requests}}

Top {{ stats.stats_top_count }}:

diff --git a/marietje/stats/utils.py b/marietje/stats/utils.py index 9c29133..90f59e5 100644 --- a/marietje/stats/utils.py +++ b/marietje/stats/utils.py @@ -2,7 +2,7 @@ from datetime import datetime, timedelta from django.core.cache import caches from django.conf import settings -from django.db.models import Count, Q, Sum +from django.db.models import Count, Q from django.shortcuts import render from django.utils import timezone @@ -16,11 +16,6 @@ def recache_stats(): caches['default'].set('stats', new_stats, 7200) return new_stats -def to_days(time): - for tr in time: - tr['duration'] = str(round(tr['total']/86400, 2)) + ' days' - return time - def compute_stats(): # We want to grab the time now, because otherwise we would be reporting a minute too late @@ -51,10 +46,6 @@ def compute_stats(): total=Count('song_id', distinct=True), ratio=Count('song_id', distinct=True) / Count('id') * 100).order_by('-total')[:settings.STATS_TOP_COUNT] - - total_unique_requests = PlaylistSong.objects.filter(state=2).exclude( - Q(user_id=None) - | Q(user_id__in=settings.STATS_REQUEST_IGNORE_USER_IDS)).distinct().count() most_played_songs = PlaylistSong.objects.filter(state=2).exclude( Q(user_id=None) @@ -68,19 +59,7 @@ def compute_stats(): timedelta(days=14)).exclude(user_id=None).values( 'song__artist', 'song__title').annotate(total=Count('id')).order_by( - '-total', 'song__artist')[:settings.STATS_TOP_COUNT] - - time_requested = PlaylistSong.objects.filter(state=2).exclude( - Q(user_id=None) - | Q(user_id__in=settings.STATS_REQUEST_IGNORE_USER_IDS)).values( - 'user__id', 'user__name').annotate(total=Sum('song__duration')).order_by( - '-total')[:settings.STATS_TOP_COUNT] - - total_time_requested = PlaylistSong.objects.all().filter(state=2).exclude( - Q(user_id=None) - | Q(user_id__in=settings.STATS_REQUEST_IGNORE_USER_IDS)).aggregate( - total=Sum('song__duration')) - + '-total', 'song__artist')[:settings.STATS_TOP_COUNT] return { 'last_updated': last_updated, @@ -89,11 +68,7 @@ def compute_stats(): 'total_requests': total_requests, 'request_stats': list(request_stats), 'unique_request_stats': list(unique_request_stats), - 'total_unique_requests': total_unique_requests, 'most_played_songs': list(most_played_songs), 'most_played_songs_14_days': list(most_played_songs_14_days), - 'time_requested': to_days(list(time_requested)), - 'total_time_requested': str(round(float(total_time_requested['total'])/86400, 2)) + ' days', 'stats_top_count': settings.STATS_TOP_COUNT, - }