From 571ce9ff07e9f8522ad4e770699f8347ba8935f2 Mon Sep 17 00:00:00 2001 From: Marc Abonce Seguin Date: Sat, 9 Jan 2021 22:11:41 -0700 Subject: [PATCH] fix empty colon in query from selecting Chinese --- searx/query.py | 2 +- tests/unit/test_query.py | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/searx/query.py b/searx/query.py index e61e24f2c..38cb03ffe 100644 --- a/searx/query.py +++ b/searx/query.py @@ -77,7 +77,7 @@ class RawTextQuery: pass # this force a language - if query_part[0] == ':': + if query_part[0] == ':' and len(query_part) > 1: lang = query_part[1:].lower().replace('_', '-') # check if any language-code is equal with diff --git a/tests/unit/test_query.py b/tests/unit/test_query.py index eff4d643c..0176f735e 100644 --- a/tests/unit/test_query.py +++ b/tests/unit/test_query.py @@ -59,6 +59,15 @@ class TestQuery(SearxTestCase): self.assertEqual(len(query.languages), 0) self.assertFalse(query.specific) + def test_empty_colon_in_query(self): + query_text = 'the : query' + query = RawTextQuery(query_text, []) + + self.assertEqual(query.getFullQuery(), query_text) + self.assertEqual(len(query.query_parts), 0) + self.assertEqual(len(query.languages), 0) + self.assertFalse(query.specific) + def test_timeout_below100(self): query_text = '<3 the query' query = RawTextQuery(query_text, [])