summaryrefslogtreecommitdiff
path: root/mirrors/views.py
diff options
context:
space:
mode:
authorLuke Shumaker <LukeShu@sbcglobal.net>2014-05-25 19:35:48 -0400
committerLuke Shumaker <LukeShu@sbcglobal.net>2014-05-25 19:35:48 -0400
commitf8e3c3b96277dc66a0d378b5d825bf1837daf1ee (patch)
treea14af7bf10f170938de28c316c1271d247e16d3c /mirrors/views.py
parent6e6f3c906c59360c792d3387eb0662f7f0f3eddc (diff)
parent824bd93116c4c0a48d7112ae0bceb46e70851df5 (diff)
Merge branch 'master-nomake'
Diffstat (limited to 'mirrors/views.py')
-rw-r--r--mirrors/views.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/mirrors/views.py b/mirrors/views.py
index 34336165..26b5b802 100644
--- a/mirrors/views.py
+++ b/mirrors/views.py
@@ -11,7 +11,8 @@ from django.http import Http404, HttpResponse
from django.shortcuts import get_object_or_404, redirect, render
from django.utils.timezone import now
from django.views.decorators.csrf import csrf_exempt
-from django_countries.countries import COUNTRIES
+from django.views.decorators.http import condition
+from django_countries.data import COUNTRIES
from .models import (Mirror, MirrorUrl, MirrorProtocol, MirrorLog,
CheckLocation)
@@ -220,6 +221,11 @@ def url_details(request, name, url_id):
return render(request, 'mirrors/url_details.html', context)
+def status_last_modified(request, *args, **kwargs):
+ return MirrorLog.objects.values_list('check_time', flat=True).latest()
+
+
+@condition(last_modified_func=status_last_modified)
def status(request, tier=None):
if tier is not None:
tier = int(tier)
@@ -297,6 +303,7 @@ class ExtendedMirrorStatusJSONEncoder(MirrorStatusJSONEncoder):
return super(ExtendedMirrorStatusJSONEncoder, self).default(obj)
+@condition(last_modified_func=status_last_modified)
def status_json(request, tier=None):
if tier is not None:
tier = int(tier)