diff options
author | Dan McGee <dan@archlinux.org> | 2015-02-26 18:34:21 -0600 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2015-02-26 18:34:21 -0600 |
commit | 8afa3cc2df4d3a53eec44b1b977b0b50b096617d (patch) | |
tree | 8a06deb5ac16a906fa8dbff1e87727534ea58aac /mirrors/utils.py | |
parent | f3214b4b03cc7cc8c4317aae8c8f3353c3f01049 (diff) | |
download | archweb-8afa3cc2df4d3a53eec44b1b977b0b50b096617d.tar.gz archweb-8afa3cc2df4d3a53eec44b1b977b0b50b096617d.zip |
Add details links to third mirror status table
Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'mirrors/utils.py')
-rw-r--r-- | mirrors/utils.py | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/mirrors/utils.py b/mirrors/utils.py index 930adb8d..533cd452 100644 --- a/mirrors/utils.py +++ b/mirrors/utils.py @@ -159,9 +159,7 @@ def get_mirror_errors(cutoff=DEFAULT_CUTOFF, mirror_id=None, show_all=False): cutoff_time = now() - cutoff errors = MirrorLog.objects.filter( is_success=False, check_time__gte=cutoff_time, - url__mirror__public=True).values( - 'url__url', 'url__country', 'url__protocol__protocol', - 'url__mirror__tier', 'error').annotate( + url__mirror__public=True).values('url__id', 'error').annotate( error_count=Count('error'), last_occurred=Max('check_time') ).order_by('-last_occurred', '-error_count') @@ -172,8 +170,11 @@ def get_mirror_errors(cutoff=DEFAULT_CUTOFF, mirror_id=None, show_all=False): url__mirror__public=True) errors = list(errors) + to_fetch = [err['url__id'] for err in errors] + urls = MirrorUrl.objects.select_related( + 'mirror', 'protocol').in_bulk(to_fetch) for err in errors: - err['country'] = Country(err['url__country'], flag_url='') + err['url'] = urls[err['url__id']] return errors |