Parcourir la source

[fix] time range detection

Adam Tauber il y a 8 ans
Parent
révision
350a84520d

+ 1
- 2
searx/engines/deviantart.py Voir le fichier

13
 """
13
 """
14
 
14
 
15
 from urllib import urlencode
15
 from urllib import urlencode
16
-from urlparse import urljoin
17
 from lxml import html
16
 from lxml import html
18
 import re
17
 import re
19
 from searx.engines.xpath import extract_text
18
 from searx.engines.xpath import extract_text
39
 
38
 
40
     params['url'] = search_url.format(offset=offset,
39
     params['url'] = search_url.format(offset=offset,
41
                                       query=urlencode({'q': query}))
40
                                       query=urlencode({'q': query}))
42
-    if params['time_range']:
41
+    if params['time_range'] in time_range_dict:
43
         params['url'] += time_range_url.format(range=time_range_dict[params['time_range']])
42
         params['url'] += time_range_url.format(range=time_range_dict[params['time_range']])
44
 
43
 
45
     return params
44
     return params

+ 1
- 1
searx/engines/duckduckgo.py Voir le fichier

67
         params['url'] = url.format(
67
         params['url'] = url.format(
68
             query=urlencode({'q': query}), offset=offset)
68
             query=urlencode({'q': query}), offset=offset)
69
 
69
 
70
-    if params['time_range']:
70
+    if params['time_range'] in time_range_dict:
71
         params['url'] += time_range_url.format(range=time_range_dict[params['time_range']])
71
         params['url'] += time_range_url.format(range=time_range_dict[params['time_range']])
72
 
72
 
73
     return params
73
     return params

+ 1
- 1
searx/engines/google.py Voir le fichier

185
                                       query=urlencode({'q': query}),
185
                                       query=urlencode({'q': query}),
186
                                       hostname=google_hostname,
186
                                       hostname=google_hostname,
187
                                       lang=url_lang)
187
                                       lang=url_lang)
188
-    if params['time_range']:
188
+    if params['time_range'] in time_range_dict:
189
         params['url'] += time_range_search.format(range=time_range_dict[params['time_range']])
189
         params['url'] += time_range_search.format(range=time_range_dict[params['time_range']])
190
 
190
 
191
     params['headers']['Accept-Language'] = language
191
     params['headers']['Accept-Language'] = language

+ 1
- 2
searx/engines/google_images.py Voir le fichier

11
 """
11
 """
12
 
12
 
13
 from urllib import urlencode
13
 from urllib import urlencode
14
-from urlparse import parse_qs
15
 from json import loads
14
 from json import loads
16
 from lxml import html
15
 from lxml import html
17
 
16
 
39
     params['url'] = search_url.format(query=urlencode({'q': query}),
38
     params['url'] = search_url.format(query=urlencode({'q': query}),
40
                                       offset=offset,
39
                                       offset=offset,
41
                                       safesearch=safesearch)
40
                                       safesearch=safesearch)
42
-    if params['time_range']:
41
+    if params['time_range'] in time_range_dict:
43
         params['url'] += time_range_search.format(range=time_range_dict[params['time_range']])
42
         params['url'] += time_range_search.format(range=time_range_dict[params['time_range']])
44
 
43
 
45
     if safesearch and params['safesearch']:
44
     if safesearch and params['safesearch']:

+ 1
- 1
searx/engines/yahoo.py Voir le fichier

58
 
58
 
59
 
59
 
60
 def _get_url(query, offset, language, time_range):
60
 def _get_url(query, offset, language, time_range):
61
-    if time_range:
61
+    if time_range in time_range_dict:
62
         return base_url + search_url_with_time.format(offset=offset,
62
         return base_url + search_url_with_time.format(offset=offset,
63
                                                       query=urlencode({'p': query}),
63
                                                       query=urlencode({'p': query}),
64
                                                       lang=language,
64
                                                       lang=language,

+ 1
- 0
tests/unit/engines/test_deviantart.py Voir le fichier

10
         query = 'test_query'
10
         query = 'test_query'
11
         dicto = defaultdict(dict)
11
         dicto = defaultdict(dict)
12
         dicto['pageno'] = 0
12
         dicto['pageno'] = 0
13
+        dicto['time_range'] = ''
13
         params = deviantart.request(query, dicto)
14
         params = deviantart.request(query, dicto)
14
         self.assertTrue('url' in params)
15
         self.assertTrue('url' in params)
15
         self.assertTrue(query in params['url'])
16
         self.assertTrue(query in params['url'])

+ 1
- 0
tests/unit/engines/test_duckduckgo.py Voir le fichier

12
         dicto = defaultdict(dict)
12
         dicto = defaultdict(dict)
13
         dicto['pageno'] = 1
13
         dicto['pageno'] = 1
14
         dicto['language'] = 'de_CH'
14
         dicto['language'] = 'de_CH'
15
+        dicto['time_range'] = ''
15
         params = duckduckgo.request(query, dicto)
16
         params = duckduckgo.request(query, dicto)
16
         self.assertIn('url', params)
17
         self.assertIn('url', params)
17
         self.assertIn(query, params['url'])
18
         self.assertIn(query, params['url'])

+ 1
- 0
tests/unit/engines/test_google.py Voir le fichier

19
         dicto = defaultdict(dict)
19
         dicto = defaultdict(dict)
20
         dicto['pageno'] = 1
20
         dicto['pageno'] = 1
21
         dicto['language'] = 'fr_FR'
21
         dicto['language'] = 'fr_FR'
22
+        dicto['time_range'] = ''
22
         params = google.request(query, dicto)
23
         params = google.request(query, dicto)
23
         self.assertIn('url', params)
24
         self.assertIn('url', params)
24
         self.assertIn(query, params['url'])
25
         self.assertIn(query, params['url'])

+ 1
- 0
tests/unit/engines/test_google_images.py Voir le fichier

11
         dicto = defaultdict(dict)
11
         dicto = defaultdict(dict)
12
         dicto['pageno'] = 1
12
         dicto['pageno'] = 1
13
         dicto['safesearch'] = 1
13
         dicto['safesearch'] = 1
14
+        dicto['time_range'] = ''
14
         params = google_images.request(query, dicto)
15
         params = google_images.request(query, dicto)
15
         self.assertIn('url', params)
16
         self.assertIn('url', params)
16
         self.assertIn(query, params['url'])
17
         self.assertIn(query, params['url'])

+ 1
- 0
tests/unit/engines/test_yahoo.py Voir le fichier

28
         query = 'test_query'
28
         query = 'test_query'
29
         dicto = defaultdict(dict)
29
         dicto = defaultdict(dict)
30
         dicto['pageno'] = 1
30
         dicto['pageno'] = 1
31
+        dicto['time_range'] = ''
31
         dicto['language'] = 'fr_FR'
32
         dicto['language'] = 'fr_FR'
32
         params = yahoo.request(query, dicto)
33
         params = yahoo.request(query, dicto)
33
         self.assertIn('url', params)
34
         self.assertIn('url', params)