diff options
Diffstat (limited to 'mirrors')
-rw-r--r-- | mirrors/migrations/0015_assign_country_codes.py | 4 | ||||
-rw-r--r-- | mirrors/models.py | 2 | ||||
-rw-r--r-- | mirrors/utils.py | 4 | ||||
-rw-r--r-- | mirrors/views.py | 9 |
4 files changed, 14 insertions, 5 deletions
diff --git a/mirrors/migrations/0015_assign_country_codes.py b/mirrors/migrations/0015_assign_country_codes.py index c1b0f969..5d83e02c 100644 --- a/mirrors/migrations/0015_assign_country_codes.py +++ b/mirrors/migrations/0015_assign_country_codes.py @@ -4,12 +4,12 @@ from south.db import db from south.v2 import DataMigration from django.db import models -from django_countries.countries import OFFICIAL_COUNTRIES +from django_countries.data import COUNTRIES class Migration(DataMigration): def forwards(self, orm): - reverse_map = dict((v, k) for k, v in OFFICIAL_COUNTRIES.items()) + reverse_map = dict((v.upper(), k) for k, v in COUNTRIES.items()) # add a few special cases to the list that we know might exist reverse_map['GREAT BRITAIN'] = 'GB' reverse_map['KOREA'] = 'KR' diff --git a/mirrors/models.py b/mirrors/models.py index 57664562..0b053043 100644 --- a/mirrors/models.py +++ b/mirrors/models.py @@ -5,7 +5,7 @@ from urlparse import urlparse from django.core.exceptions import ValidationError from django.db import models from django.db.models.signals import pre_save -from django_countries import CountryField +from django_countries.fields import CountryField from .fields import IPNetworkField from main.utils import set_created_field diff --git a/mirrors/utils.py b/mirrors/utils.py index 0dd26ae0..fe18cd6a 100644 --- a/mirrors/utils.py +++ b/mirrors/utils.py @@ -88,6 +88,8 @@ def annotate_url(url, url_data): ('success_count', 0), ('check_count', 0), ('completion_pct', None), + ('duration_avg', None), + ('duration_stddev', None), ('last_check', None), ('last_sync', None), ('delay', None), @@ -177,7 +179,7 @@ def get_mirror_errors(cutoff=DEFAULT_CUTOFF, mirror_id=None, show_all=False): errors = list(errors) for err in errors: - err['country'] = Country(err['url__country']) + err['country'] = Country(err['url__country'], flag_url='') return errors 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) |