on master help sign in
[fix] resolve query_parts regression
2aef38cAdam Tauber
searx/query.py+4−5
@@ -59,8 +59,6 @@ class RawTextQuery:
59 # part does only contain spaces, skip
59 # part does only contain spaces, skip
60 if query_part.isspace()\
60 if query_part.isspace()\
61 or query_part == '':
61 or query_part == '':
62− searx_query_part = True
63− self.query_parts.append(query_part)
64 continue
62 continue
65
63
66 # this force the timeout
64 # this force the timeout
@@ -147,8 +145,9 @@ class RawTextQuery:
147 self.specific = True
145 self.specific = True
148
146
149 # append query part to query_part list
147 # append query part to query_part list
148+ if searx_query_part:
150− self.query_parts.append(query_part)
149+ self.query_parts.append(query_part)
151− if not searx_query_part:
150+ else:
152 self.user_query_parts.append(query_part)
151 self.user_query_parts.append(query_part)
153
152
154 def changeQuery(self, query):
153 def changeQuery(self, query):
@@ -160,4 +159,4 @@ class RawTextQuery:
160
159
161 def getFullQuery(self):
160 def getFullQuery(self):
162 # get full querry including whitespaces
161 # get full querry including whitespaces
163− return ''.join(self.query_parts)
162+ return '{0} {1}'.format(''.join(self.query_parts), self.getQuery()).strip()
tests/unit/test_query.py+11−9
@@ -9,7 +9,8 @@ class TestQuery(SearxTestCase):
9 query = RawTextQuery(query_text, [])
9 query = RawTextQuery(query_text, [])
10
10
11 self.assertEqual(query.getFullQuery(), query_text)
11 self.assertEqual(query.getFullQuery(), query_text)
12− self.assertEqual(len(query.query_parts), 3)
12+ self.assertEqual(len(query.query_parts), 0)
13+ self.assertEqual(len(query.user_query_parts), 2)
13 self.assertEqual(len(query.languages), 0)
14 self.assertEqual(len(query.languages), 0)
14 self.assertFalse(query.specific)
15 self.assertFalse(query.specific)
15
16
@@ -20,7 +21,7 @@ class TestQuery(SearxTestCase):
20 query = RawTextQuery(full_query, [])
21 query = RawTextQuery(full_query, [])
21
22
22 self.assertEqual(query.getFullQuery(), full_query)
23 self.assertEqual(query.getFullQuery(), full_query)
23− self.assertEqual(len(query.query_parts), 5)
24+ self.assertEqual(len(query.query_parts), 1)
24 self.assertEqual(len(query.languages), 1)
25 self.assertEqual(len(query.languages), 1)
25 self.assertIn(language, query.languages)
26 self.assertIn(language, query.languages)
26 self.assertFalse(query.specific)
27 self.assertFalse(query.specific)
@@ -32,7 +33,7 @@ class TestQuery(SearxTestCase):
32 query = RawTextQuery(full_query, [])
33 query = RawTextQuery(full_query, [])
33
34
34 self.assertEqual(query.getFullQuery(), full_query)
35 self.assertEqual(query.getFullQuery(), full_query)
35− self.assertEqual(len(query.query_parts), 5)
36+ self.assertEqual(len(query.query_parts), 1)
36 self.assertIn('en', query.languages)
37 self.assertIn('en', query.languages)
37 self.assertFalse(query.specific)
38 self.assertFalse(query.specific)
38
39
@@ -43,7 +44,7 @@ class TestQuery(SearxTestCase):
43 query = RawTextQuery(full_query, [])
44 query = RawTextQuery(full_query, [])
44
45
45 self.assertEqual(query.getFullQuery(), full_query)
46 self.assertEqual(query.getFullQuery(), full_query)
46− self.assertEqual(len(query.query_parts), 5)
47+ self.assertEqual(len(query.query_parts), 1)
47 self.assertIn('all', query.languages)
48 self.assertIn('all', query.languages)
48 self.assertFalse(query.specific)
49 self.assertFalse(query.specific)
49
50
@@ -54,7 +55,7 @@ class TestQuery(SearxTestCase):
54 query = RawTextQuery(full_query, [])
55 query = RawTextQuery(full_query, [])
55
56
56 self.assertEqual(query.getFullQuery(), full_query)
57 self.assertEqual(query.getFullQuery(), full_query)
57− self.assertEqual(len(query.query_parts), 5)
58+ self.assertEqual(len(query.query_parts), 0)
58 self.assertEqual(len(query.languages), 0)
59 self.assertEqual(len(query.languages), 0)
59 self.assertFalse(query.specific)
60 self.assertFalse(query.specific)
60
61
@@ -63,7 +64,7 @@ class TestQuery(SearxTestCase):
63 query = RawTextQuery(query_text, [])
64 query = RawTextQuery(query_text, [])
64
65
65 self.assertEqual(query.getFullQuery(), query_text)
66 self.assertEqual(query.getFullQuery(), query_text)
66− self.assertEqual(len(query.query_parts), 5)
67+ self.assertEqual(len(query.query_parts), 1)
67 self.assertEqual(query.timeout_limit, 3)
68 self.assertEqual(query.timeout_limit, 3)
68 self.assertFalse(query.specific)
69 self.assertFalse(query.specific)
69
70
@@ -72,7 +73,7 @@ class TestQuery(SearxTestCase):
72 query = RawTextQuery(query_text, [])
73 query = RawTextQuery(query_text, [])
73
74
74 self.assertEqual(query.getFullQuery(), query_text)
75 self.assertEqual(query.getFullQuery(), query_text)
75− self.assertEqual(len(query.query_parts), 5)
76+ self.assertEqual(len(query.query_parts), 1)
76 self.assertEqual(query.timeout_limit, 0.35)
77 self.assertEqual(query.timeout_limit, 0.35)
77 self.assertFalse(query.specific)
78 self.assertFalse(query.specific)
78
79
@@ -81,7 +82,7 @@ class TestQuery(SearxTestCase):
81 query = RawTextQuery(query_text, [])
82 query = RawTextQuery(query_text, [])
82
83
83 self.assertEqual(query.getFullQuery(), query_text)
84 self.assertEqual(query.getFullQuery(), query_text)
84− self.assertEqual(len(query.query_parts), 5)
85+ self.assertEqual(len(query.query_parts), 1)
85 self.assertEqual(query.timeout_limit, 3.5)
86 self.assertEqual(query.timeout_limit, 3.5)
86 self.assertFalse(query.specific)
87 self.assertFalse(query.specific)
87
88
@@ -91,6 +92,7 @@ class TestQuery(SearxTestCase):
91 query = RawTextQuery(query_text, [])
92 query = RawTextQuery(query_text, [])
92
93
93 self.assertEqual(query.getFullQuery(), query_text)
94 self.assertEqual(query.getFullQuery(), query_text)
94− self.assertEqual(len(query.query_parts), 5)
95+ self.assertEqual(len(query.query_parts), 0)
96+ self.assertEqual(query.getQuery(), query_text)
95 self.assertEqual(query.timeout_limit, None)
97 self.assertEqual(query.timeout_limit, None)
96 self.assertFalse(query.specific)
98 self.assertFalse(query.specific)