diff --git a/marietje/stats/utils.py b/marietje/stats/utils.py index 61f26b1..0893341 100644 --- a/marietje/stats/utils.py +++ b/marietje/stats/utils.py @@ -1,5 +1,3 @@ -from datetime import datetime, timedelta - from django.core.cache import caches from django.conf import settings from django.db.models import Count, Q, Sum @@ -63,7 +61,7 @@ def adding_list_item(most_requested_list, requests): def compute_stats(): # We want to grab the time now, because otherwise we would be reporting a minute too late - last_updated = datetime.now() + last_updated = timezone.now() stats = {} stats['total_uploads'] = Song.objects.filter(deleted=False).exclude( @@ -106,7 +104,7 @@ def compute_stats(): stats['most_played_songs_14_days'] = PlaylistSong.objects.filter( state=2, played_at__gte=timezone.now() - - timedelta(days=14)).exclude(user_id=None).values( + timezone.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] @@ -174,7 +172,7 @@ def compute_stats(): def user_stats(request): - last_updated = datetime.now() + last_updated = timezone.now() total_uploads = Song.objects.filter( user__id=request, deleted=False).count() diff --git a/marietje/stats/views.py b/marietje/stats/views.py index 9e1a3c6..facfb9d 100644 --- a/marietje/stats/views.py +++ b/marietje/stats/views.py @@ -1,8 +1,6 @@ -from datetime import datetime, timedelta - from django.core.cache import caches from django.shortcuts import render - +from django.utils import timezone def stats(request): stats_data = caches['default'].get('stats') @@ -32,12 +30,12 @@ def user_stats(request): return render(request, 'stats/user.html', data, status=status) def age_text(last_updated): - current_age = datetime.now() - last_updated + current_age = timezone.now() - last_updated minutes = (current_age.seconds % 3600) / 60 hours = current_age.seconds / 3600 minutestr = "minute" if minutes == 1 else "minutes" hourstr = "hour" if hours == 1 else "hours" - if current_age < timedelta(hours=1): + if current_age < timezone.timedelta(hours=1): return 'Stats were updated {:.0f} {} ago.'.format(minutes, minutestr) return 'Stats were updated {:.0f} {} and {:.0f} {} ago.'.format(