diff options
Diffstat (limited to 'mirrors/views/mirrorlist.py')
-rw-r--r-- | mirrors/views/mirrorlist.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/mirrors/views/mirrorlist.py b/mirrors/views/mirrorlist.py index 3c68d036..7a9ffad0 100644 --- a/mirrors/views/mirrorlist.py +++ b/mirrors/views/mirrorlist.py @@ -10,6 +10,7 @@ from django_countries import countries from ..models import MirrorUrl, MirrorProtocol from ..utils import get_mirror_statuses +import random class MirrorlistForm(forms.Form): country = forms.MultipleChoiceField(required=False, @@ -80,8 +81,9 @@ def status_filter(original_urls): # (as opposed to those that have been set with no score) if (u.id not in scores) or (u.score and u.score < 100.0): urls.append(u) - # if a url doesn't have a score, treat it as the highest possible - return sorted(urls, key=lambda x: x.score or 100.0) + # randomize list to prevent users from overloading the first mirror in the returned list + random.shuffle(urls) + return urls def find_mirrors(request, countries=None, protocols=None, use_status=False, |