Browse Source

[fix] time range detection

Adam Tauber 8 years ago
parent
commit
350a84520d

+ 1 - 2
searx/engines/deviantart.py

@@ -13,7 +13,6 @@
 """
 """
 
 
 from urllib import urlencode
 from urllib import urlencode
-from urlparse import urljoin
 from lxml import html
 from lxml import html
 import re
 import re
 from searx.engines.xpath import extract_text
 from searx.engines.xpath import extract_text
@@ -39,7 +38,7 @@ def request(query, params):
 
 
     params['url'] = search_url.format(offset=offset,
     params['url'] = search_url.format(offset=offset,
                                       query=urlencode({'q': query}))
                                       query=urlencode({'q': query}))
-    if params['time_range']:
+    if params['time_range'] in time_range_dict:
         params['url'] += time_range_url.format(range=time_range_dict[params['time_range']])
         params['url'] += time_range_url.format(range=time_range_dict[params['time_range']])
 
 
     return params
     return params

+ 1 - 1
searx/engines/duckduckgo.py

@@ -67,7 +67,7 @@ def request(query, params):
         params['url'] = url.format(
         params['url'] = url.format(
             query=urlencode({'q': query}), offset=offset)
             query=urlencode({'q': query}), offset=offset)
 
 
-    if params['time_range']:
+    if params['time_range'] in time_range_dict:
         params['url'] += time_range_url.format(range=time_range_dict[params['time_range']])
         params['url'] += time_range_url.format(range=time_range_dict[params['time_range']])
 
 
     return params
     return params

+ 1 - 1
searx/engines/google.py

@@ -185,7 +185,7 @@ def request(query, params):
                                       query=urlencode({'q': query}),
                                       query=urlencode({'q': query}),
                                       hostname=google_hostname,
                                       hostname=google_hostname,
                                       lang=url_lang)
                                       lang=url_lang)
-    if params['time_range']:
+    if params['time_range'] in time_range_dict:
         params['url'] += time_range_search.format(range=time_range_dict[params['time_range']])
         params['url'] += time_range_search.format(range=time_range_dict[params['time_range']])
 
 
     params['headers']['Accept-Language'] = language
     params['headers']['Accept-Language'] = language

+ 1 - 2
searx/engines/google_images.py

@@ -11,7 +11,6 @@
 """
 """
 
 
 from urllib import urlencode
 from urllib import urlencode
-from urlparse import parse_qs
 from json import loads
 from json import loads
 from lxml import html
 from lxml import html
 
 
@@ -39,7 +38,7 @@ def request(query, params):
     params['url'] = search_url.format(query=urlencode({'q': query}),
     params['url'] = search_url.format(query=urlencode({'q': query}),
                                       offset=offset,
                                       offset=offset,
                                       safesearch=safesearch)
                                       safesearch=safesearch)
-    if params['time_range']:
+    if params['time_range'] in time_range_dict:
         params['url'] += time_range_search.format(range=time_range_dict[params['time_range']])
         params['url'] += time_range_search.format(range=time_range_dict[params['time_range']])
 
 
     if safesearch and params['safesearch']:
     if safesearch and params['safesearch']:

+ 1 - 1
searx/engines/yahoo.py

@@ -58,7 +58,7 @@ def parse_url(url_string):
 
 
 
 
 def _get_url(query, offset, language, time_range):
 def _get_url(query, offset, language, time_range):
-    if time_range:
+    if time_range in time_range_dict:
         return base_url + search_url_with_time.format(offset=offset,
         return base_url + search_url_with_time.format(offset=offset,
                                                       query=urlencode({'p': query}),
                                                       query=urlencode({'p': query}),
                                                       lang=language,
                                                       lang=language,

+ 1 - 0
tests/unit/engines/test_deviantart.py

@@ -10,6 +10,7 @@ class TestDeviantartEngine(SearxTestCase):
         query = 'test_query'
         query = 'test_query'
         dicto = defaultdict(dict)
         dicto = defaultdict(dict)
         dicto['pageno'] = 0
         dicto['pageno'] = 0
+        dicto['time_range'] = ''
         params = deviantart.request(query, dicto)
         params = deviantart.request(query, dicto)
         self.assertTrue('url' in params)
         self.assertTrue('url' in params)
         self.assertTrue(query in params['url'])
         self.assertTrue(query in params['url'])

+ 1 - 0
tests/unit/engines/test_duckduckgo.py

@@ -12,6 +12,7 @@ class TestDuckduckgoEngine(SearxTestCase):
         dicto = defaultdict(dict)
         dicto = defaultdict(dict)
         dicto['pageno'] = 1
         dicto['pageno'] = 1
         dicto['language'] = 'de_CH'
         dicto['language'] = 'de_CH'
+        dicto['time_range'] = ''
         params = duckduckgo.request(query, dicto)
         params = duckduckgo.request(query, dicto)
         self.assertIn('url', params)
         self.assertIn('url', params)
         self.assertIn(query, params['url'])
         self.assertIn(query, params['url'])

+ 1 - 0
tests/unit/engines/test_google.py

@@ -19,6 +19,7 @@ class TestGoogleEngine(SearxTestCase):
         dicto = defaultdict(dict)
         dicto = defaultdict(dict)
         dicto['pageno'] = 1
         dicto['pageno'] = 1
         dicto['language'] = 'fr_FR'
         dicto['language'] = 'fr_FR'
+        dicto['time_range'] = ''
         params = google.request(query, dicto)
         params = google.request(query, dicto)
         self.assertIn('url', params)
         self.assertIn('url', params)
         self.assertIn(query, params['url'])
         self.assertIn(query, params['url'])

+ 1 - 0
tests/unit/engines/test_google_images.py

@@ -11,6 +11,7 @@ class TestGoogleImagesEngine(SearxTestCase):
         dicto = defaultdict(dict)
         dicto = defaultdict(dict)
         dicto['pageno'] = 1
         dicto['pageno'] = 1
         dicto['safesearch'] = 1
         dicto['safesearch'] = 1
+        dicto['time_range'] = ''
         params = google_images.request(query, dicto)
         params = google_images.request(query, dicto)
         self.assertIn('url', params)
         self.assertIn('url', params)
         self.assertIn(query, params['url'])
         self.assertIn(query, params['url'])

+ 1 - 0
tests/unit/engines/test_yahoo.py

@@ -28,6 +28,7 @@ class TestYahooEngine(SearxTestCase):
         query = 'test_query'
         query = 'test_query'
         dicto = defaultdict(dict)
         dicto = defaultdict(dict)
         dicto['pageno'] = 1
         dicto['pageno'] = 1
+        dicto['time_range'] = ''
         dicto['language'] = 'fr_FR'
         dicto['language'] = 'fr_FR'
         params = yahoo.request(query, dicto)
         params = yahoo.request(query, dicto)
         self.assertIn('url', params)
         self.assertIn('url', params)