From 52429b8d159657890f0c8f2dd4ed90e1f8dea971 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Sat, 10 Apr 2021 08:18:13 -0400 Subject: [PATCH] dont prevent search when backend throws an exception or times out --- archivebox/core/mixins.py | 1 + archivebox/core/views.py | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/archivebox/core/mixins.py b/archivebox/core/mixins.py index b1507605..4711dd0e 100644 --- a/archivebox/core/mixins.py +++ b/archivebox/core/mixins.py @@ -15,6 +15,7 @@ class SearchResultsAdminMixin: qsearch = query_search_index(search_term) qs = qs | qsearch except Exception as err: + print(f'[!] Error while using search backend: {err.__class__.__name__} {err}') messages.add_message(request, messages.WARNING, f'Error from the search backend, only showing results from default admin search fields - Error: {err}') return qs, use_distinct diff --git a/archivebox/core/views.py b/archivebox/core/views.py index 4e7ff327..c056cd65 100644 --- a/archivebox/core/views.py +++ b/archivebox/core/views.py @@ -223,7 +223,10 @@ class PublicIndexView(ListView): query = self.request.GET.get('q') if query and query.strip(): qs = qs.filter(Q(title__icontains=query) | Q(url__icontains=query) | Q(timestamp__icontains=query) | Q(tags__name__icontains=query)) - qs = qs | query_search_index(query) + try: + qs = qs | query_search_index(query) + except Exception as err: + print(f'[!] Error while using search backend: {err.__class__.__name__} {err}') return qs def get(self, *args, **kwargs):