diff options
author | Dan McGee <dan@archlinux.org> | 2013-06-01 16:21:42 +0200 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2013-06-01 21:53:17 +0200 |
commit | 49bf4988794c39095a9513c32ea971d5bcf5d33d (patch) | |
tree | d1ec60c17e9416762b5e7048f8f3a8b06e4e332c | |
parent | 31bc66e23c2ea0467d2201b86536f161fd1f32ca (diff) | |
download | archweb-49bf4988794c39095a9513c32ea971d5bcf5d33d.tar.gz archweb-49bf4988794c39095a9513c32ea971d5bcf5d33d.tar.xz |
Ensure only active mirror URLs are listed
This fixes things up on the download page as well as the individual
mirror details page.
Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r-- | mirrors/models.py | 1 | ||||
-rw-r--r-- | mirrors/views.py | 2 | ||||
-rw-r--r-- | public/views.py | 2 |
3 files changed, 3 insertions, 2 deletions
diff --git a/mirrors/models.py b/mirrors/models.py index 975ead3..da3d8c0 100644 --- a/mirrors/models.py +++ b/mirrors/models.py @@ -116,6 +116,7 @@ class MirrorRsync(models.Model): class Meta: verbose_name = 'mirror rsync IP' + ordering = ('ip',) class CheckLocation(models.Model): diff --git a/mirrors/views.py b/mirrors/views.py index 6f4ad83..ec05669 100644 --- a/mirrors/views.py +++ b/mirrors/views.py @@ -161,7 +161,7 @@ def mirror_details(request, name): status_info = get_mirror_statuses(mirror_id=mirror.id) checked_urls = {url for url in status_info['urls'] \ if url.mirror_id == mirror.id} - all_urls = set(mirror.urls.select_related('protocol')) + all_urls = set(mirror.urls.filter(active=True).select_related('protocol')) # Add dummy data for URLs that we haven't checked recently other_urls = all_urls.difference(checked_urls) for url in other_urls: diff --git a/public/views.py b/public/views.py index 3927339..24edd04 100644 --- a/public/views.py +++ b/public/views.py @@ -80,7 +80,7 @@ def _mirror_urls(): '''In order to ensure this is lazily evaluated since we can't do sorting at the database level, make it a callable.''' urls = MirrorUrl.objects.select_related('mirror').filter( - protocol__default=True, + active=True, protocol__default=True, mirror__public=True, mirror__active=True, mirror__isos=True) sort_by = attrgetter('country.name', 'mirror.name') return sorted(urls, key=sort_by) |