From b9fa1747c4d35e43796f5e97a557e939e8d5aa07 Mon Sep 17 00:00:00 2001 From: oslomp Date: Wed, 3 Apr 2019 17:53:06 +0200 Subject: [PATCH] searching ignores interpunction characters --- marietje/api/views.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/marietje/api/views.py b/marietje/api/views.py index 9df9c58..0dbef86 100644 --- a/marietje/api/views.py +++ b/marietje/api/views.py @@ -94,7 +94,10 @@ def songs(request): def search_songs(): queries = [Q(deleted=False)] - queries.extend([Q(Q(artist__icontains=word) | Q(title__icontains=word)) for word in request.POST.get('all', '').split()]) + + for word in request.POST.get('all', '').split(): + regexword = r"".join('[\W]?[' + letter + ']' for letter in word) + queries.extend([Q(Q(artist__iregex=regexword) | Q(title__iregex=regexword))]) queries.extend([Q(user__name__icontains=word) for word in request.POST.get('uploader', '').split()]) filter_query = queries.pop()