Przeglądaj źródła

add time range support for bing images

Noémi Ványi 8 lat temu
rodzic
commit
5c02b9ef31

+ 7
- 0
searx/engines/bing_images.py Wyświetl plik

24
 categories = ['images']
24
 categories = ['images']
25
 paging = True
25
 paging = True
26
 safesearch = True
26
 safesearch = True
27
+time_range_support = True
27
 
28
 
28
 # search-url
29
 # search-url
29
 base_url = 'https://www.bing.com/'
30
 base_url = 'https://www.bing.com/'
30
 search_string = 'images/search?{query}&count=10&first={offset}'
31
 search_string = 'images/search?{query}&count=10&first={offset}'
32
+time_range_string = '&qft=+filterui:age-lt{interval}'
31
 thumb_url = "https://www.bing.com/th?id={ihk}"
33
 thumb_url = "https://www.bing.com/th?id={ihk}"
34
+time_range_dict = {'day': '1440',
35
+                   'week': '10080',
36
+                   'month': '43200'}
32
 
37
 
33
 # safesearch definitions
38
 # safesearch definitions
34
 safesearch_types = {2: 'STRICT',
39
 safesearch_types = {2: 'STRICT',
58
         '&ADLT=' + safesearch_types.get(params['safesearch'], 'DEMOTE')
63
         '&ADLT=' + safesearch_types.get(params['safesearch'], 'DEMOTE')
59
 
64
 
60
     params['url'] = base_url + search_path
65
     params['url'] = base_url + search_path
66
+    if params['time_range'] in time_range_dict:
67
+        params['url'] += time_range_string.format(interval=time_range_dict[params['time_range']])
61
 
68
 
62
     return params
69
     return params
63
 
70
 

+ 1
- 0
tests/unit/engines/test_bing_images.py Wyświetl plik

13
         dicto['pageno'] = 1
13
         dicto['pageno'] = 1
14
         dicto['language'] = 'fr_FR'
14
         dicto['language'] = 'fr_FR'
15
         dicto['safesearch'] = 1
15
         dicto['safesearch'] = 1
16
+        dicto['time_range'] = ''
16
         params = bing_images.request(query, dicto)
17
         params = bing_images.request(query, dicto)
17
         self.assertTrue('url' in params)
18
         self.assertTrue('url' in params)
18
         self.assertTrue(query in params['url'])
19
         self.assertTrue(query in params['url'])