from datetime import datetime, timedelta from django.core.cache import cache from django.shortcuts import render def stats(request): stats = cache.get('stats') status = 503 current_age = None current_age_text = None if stats: status = 200 if 'last_updated' in stats: current_age = datetime.now() - stats['last_updated'] if current_age < timedelta(minutes=1): current_age_text = 'Stats were updated less than a minute ago.' elif current_age < timedelta(minutes=2): current_age_text = 'Stats were updated one minute ago.' elif current_age < timedelta(minutes=60): minutes = current_age.seconds / 60 current_age_text = 'Stats were updated {:.0f} minutes ago.'.format(minutes) else: current_age_text = 'Stats were updated more than an hour ago' data = {'stats': stats, 'current_age': current_age, 'current_age_text': current_age_text} return render(request, 'stats/stats.html', data, status=status)