summaryrefslogtreecommitdiffstats
path: root/mirrors/views.py
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2012-11-10 14:19:23 -0600
committerDan McGee <dan@archlinux.org>2012-11-10 14:28:26 -0600
commit86102c6e645451c03e3e576060eba7f93350bf6b (patch)
treeb6578956644716e3acea29c9a351eaf8d8accbd6 /mirrors/views.py
parent4ab5d6947795f1fef0d38601ec7ad3ca5f62173e (diff)
downloadarchweb-86102c6e645451c03e3e576060eba7f93350bf6b.tar.gz
archweb-86102c6e645451c03e3e576060eba7f93350bf6b.zip
Allow filtering retrieved mirror statuses by mirror_id
When we don't need them all, no need to fetch them all. Let the database do the work for us, hopefully. Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'mirrors/views.py')
-rw-r--r--mirrors/views.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/mirrors/views.py b/mirrors/views.py
index cbd86611..4b9721dc 100644
--- a/mirrors/views.py
+++ b/mirrors/views.py
@@ -14,7 +14,7 @@ from django.views.decorators.csrf import csrf_exempt
from django_countries.countries import COUNTRIES
from .models import Mirror, MirrorUrl, MirrorProtocol, MirrorLog
-from .utils import get_mirror_statuses, get_mirror_errors
+from .utils import get_mirror_statuses, get_mirror_errors, DEFAULT_CUTOFF
COUNTRY_LOOKUP = dict(COUNTRIES)
@@ -171,7 +171,7 @@ def mirror_details(request, name):
(not mirror.public or not mirror.active):
raise Http404
- status_info = get_mirror_statuses()
+ status_info = get_mirror_statuses(mirror_ids=[mirror.id])
checked_urls = [url for url in status_info['urls'] \
if url.mirror_id == mirror.id]
all_urls = mirror.urls.select_related('protocol')
@@ -186,7 +186,7 @@ def mirror_details(request, name):
def mirror_details_json(request, name):
mirror = get_object_or_404(Mirror, name=name)
- status_info = get_mirror_statuses()
+ status_info = get_mirror_statuses(mirror_ids=[mirror.id])
data = status_info.copy()
data['version'] = 3
# include only URLs for this particular mirror
@@ -266,7 +266,7 @@ class ExtendedMirrorStatusJSONEncoder(MirrorStatusJSONEncoder):
def default(self, obj):
if isinstance(obj, MirrorUrl):
data = super(ExtendedMirrorStatusJSONEncoder, self).default(obj)
- cutoff = now() - timedelta(hours=24)
+ cutoff = now() - DEFAULT_CUTOFF
data['logs'] = obj.logs.filter(check_time__gte=cutoff)
return data
if isinstance(obj, MirrorLog):