diff options
author | Aleksandar Trifunovic <akstrfn@gmail.com> | 2018-06-24 14:29:01 +0200 |
---|---|---|
committer | Jelle van der Waa <jelle@vdwaa.nl> | 2019-02-09 22:21:21 +0100 |
commit | 2f10c1cc150f419946679782d1950b6500cea98c (patch) | |
tree | 6adee25a592c71625099aae13e3ac04f0dd5272f | |
parent | b2f2c6aa5e21a53860275040bf219d24a05a2582 (diff) | |
download | archweb-2f10c1cc150f419946679782d1950b6500cea98c.tar.gz archweb-2f10c1cc150f419946679782d1950b6500cea98c.zip |
Minor code cleanup, formatting, and simplification.
-rw-r--r-- | packages/views/__init__.py | 34 | ||||
-rw-r--r-- | packages/views/search.py | 8 |
2 files changed, 20 insertions, 22 deletions
diff --git a/packages/views/__init__.py b/packages/views/__init__.py index 4d254420..904043af 100644 --- a/packages/views/__init__.py +++ b/packages/views/__init__.py @@ -44,15 +44,12 @@ def opensearch_suggest(request): hashlib.md5(search_term.encode('utf-8')).hexdigest() to_json = cache.get(cache_key, None) if to_json is None: - q = Q(pkgname__startswith=search_term) - lookup = search_term.lower() - if search_term != lookup: - # package names are lowercase by convention, so include that in - # search if original wasn't lowercase already - q |= Q(pkgname__startswith=lookup) + # Package names are lowercase by convention + q = Q(pkgname__istartswith=search_term) + names = Package.objects.filter(q).values_list( - 'pkgname', flat=True).order_by('pkgname').distinct()[:10] - results = [search_term, list(names)] + 'pkgname', flat=True).order_by('pkgname').distinct()[:10] + results = (search_term, tuple(names)) to_json = json.dumps(results, ensure_ascii=False) cache.set(cache_key, to_json, 613) return HttpResponse(to_json, content_type='application/x-suggestions+json') @@ -77,12 +74,13 @@ def update(request): )) for pkg in pkgs: - if request.user not in pkg.maintainers: - prel = PackageRelation(pkgbase=pkg.pkgbase, - user=request.user, - type=PackageRelation.MAINTAINER) - count += 1 - prel.save() + if request.user in pkg.maintainers: + continue + + PackageRelation(pkgbase=pkg.pkgbase, + user=request.user, + type=PackageRelation.MAINTAINER).save() + count += 1 messages.info(request, "%d base packages adopted." % count) @@ -91,9 +89,11 @@ def update(request): # [community] -> [extra] moves for pkg in Package.objects.filter(id__in=ids): if request.user in pkg.maintainers: - rels = PackageRelation.objects.filter(pkgbase=pkg.pkgbase, - user=request.user, - type=PackageRelation.MAINTAINER) + rels = PackageRelation.objects.filter( + pkgbase=pkg.pkgbase, + user=request.user, + type=PackageRelation.MAINTAINER + ) count += rels.count() rels.delete() diff --git a/packages/views/search.py b/packages/views/search.py index 90fb9d95..4bcd5fa1 100644 --- a/packages/views/search.py +++ b/packages/views/search.py @@ -114,7 +114,7 @@ class SearchListView(ListView): paginate_by = 100 sort_fields = ("arch", "repo", "pkgname", "pkgbase", "compressed_size", - "installed_size", "build_date", "last_update", "flag_date") + "installed_size", "build_date", "last_update", "flag_date") allowed_sort = list(sort_fields) + ["-" + s for s in sort_fields] def get(self, request, *args, **kwargs): @@ -132,10 +132,8 @@ class SearchListView(ListView): packages = parse_form(self.form, packages) sort = self.form.cleaned_data['sort'] if sort in self.allowed_sort: - packages = packages.order_by(sort) - else: - packages = packages.order_by('pkgname') - return packages + return packages.order_by(sort) + return packages.order_by('pkgname') # Form had errors so don't return any results return Package.objects.none() |