diff options
| author | Adam Tauber <asciimoo@gmail.com> | 2016-11-01 20:01:51 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-11-01 20:01:51 +0100 |
| commit | e23c8f954b6ae0f1100167d39b73e2037384c154 (patch) | |
| tree | 87547b424edec417b3306e84c92bae1af5ede295 /searx/engines/bing_news.py | |
| parent | 6243639f013b18fbdf6d667895f32fda6048d8f8 (diff) | |
| parent | 1490d6bc939a59458a6ae9a56045064a3fc8b7a4 (diff) | |
Merge pull request #746 from kvch/moar-time-range-support
Support time range search in more engines
Diffstat (limited to 'searx/engines/bing_news.py')
| -rw-r--r-- | searx/engines/bing_news.py | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/searx/engines/bing_news.py b/searx/engines/bing_news.py index a2397c48e..906afe662 100644 --- a/searx/engines/bing_news.py +++ b/searx/engines/bing_news.py @@ -22,10 +22,15 @@ from searx.utils import list_get categories = ['news'] paging = True language_support = True +time_range_support = True # search-url base_url = 'https://www.bing.com/' search_string = 'news/search?{query}&first={offset}&format=RSS' +search_string_with_time = 'news/search?{query}&first={offset}&qft=interval%3d"{interval}"&format=RSS' +time_range_dict = {'day': '7', + 'week': '8', + 'month': '9'} # remove click @@ -46,6 +51,19 @@ def image_url_cleanup(url_string): return url_string +def _get_url(query, language, offset, time_range): + if time_range in time_range_dict: + search_path = search_string_with_time.format( + query=urlencode({'q': query, 'setmkt': language}), + offset=offset, + interval=time_range_dict[time_range]) + else: + search_path = search_string.format( + query=urlencode({'q': query, 'setmkt': language}), + offset=offset) + return base_url + search_path + + # do search-request def request(query, params): offset = (params['pageno'] - 1) * 10 + 1 @@ -55,11 +73,7 @@ def request(query, params): else: language = params['language'].replace('_', '-') - search_path = search_string.format( - query=urlencode({'q': query, 'setmkt': language}), - offset=offset) - - params['url'] = base_url + search_path + params['url'] = _get_url(query, language, offset, params['time_range']) return params |