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