Hello, Here's a patch that transforms the package parameter to lower case characters to enable case insensitive search. Cheers, Orestis
From c9d48dbc2123977981808d4342f3b77083a8ac71 Mon Sep 17 00:00:00 2001 From: Orestis Ioannou <orestis@oioannou.com> Date: Wed, 26 Aug 2015 13:55:30 +0200 Subject: [PATCH] Make package search case insensitive Closes: #788251 According to the policy, package names are always lower case so transforming the search query into lower case enables case insensitive package search. --- distro_tracker/core/tests/tests_views.py | 9 +++++++++ distro_tracker/core/views.py | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/distro_tracker/core/tests/tests_views.py b/distro_tracker/core/tests/tests_views.py index 735d6a3..e45c116 100644 --- a/distro_tracker/core/tests/tests_views.py +++ b/distro_tracker/core/tests/tests_views.py @@ -264,6 +264,15 @@ class PackageSearchViewTest(TestCase): self.assertIn('package_name', response.context) self.assertEqual(response.context['package_name'], 'no-exist') + def test_case_insensitive_package_search(self): + """ + Tests that package search is case insensitive + """ + response = self.client.get(reverse('dtracker-package-search'), { + 'package_name': 'DuMmy-PACKAGE' + }) + self.assertRedirects(response, self.source_package.get_absolute_url()) + class OpenSearchDescriptionTest(TestCase): """ diff --git a/distro_tracker/core/views.py b/distro_tracker/core/views.py index c6112a7..16b958b 100644 --- a/distro_tracker/core/views.py +++ b/distro_tracker/core/views.py @@ -94,7 +94,7 @@ class PackageSearchView(View): def get(self, request): if 'package_name' not in self.request.GET: raise Http404 - package_name = self.request.GET.get('package_name') + package_name = self.request.GET.get('package_name').lower() package = get_web_package(package_name) if package is not None: -- 2.1.4
Attachment:
signature.asc
Description: OpenPGP digital signature