commit: d2e0cbafb265594a23389fe58b7889ff088560f6
parent f70d405202ccec44849f8cd8d30ba37b254f2b69
Author: Noémi Ványi <sitbackandwait@gmail.com>
Date: Sun, 30 Oct 2016 20:26:38 +0100
add time range search for youtube noapi
Diffstat:
2 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/searx/engines/youtube_noapi.py b/searx/engines/youtube_noapi.py
@@ -17,10 +17,15 @@ from searx.utils import list_get
categories = ['videos', 'music']
paging = True
language_support = False
+time_range_support = True
# search-url
base_url = 'https://www.youtube.com/results'
search_url = base_url + '?search_query={query}&page={page}'
+time_range_url = '&sp=EgII{time_range}%253D%253D'
+time_range_dict = {'day': 'Ag',
+ 'week': 'Aw',
+ 'month': 'BA'}
embedded_url = '<iframe width="540" height="304" ' +\
'data-src="//www.youtube-nocookie.com/embed/{videoid}" ' +\
@@ -47,6 +52,8 @@ def extract_text_from_dom(result, xpath):
def request(query, params):
params['url'] = search_url.format(query=quote_plus(query),
page=params['pageno'])
+ if params['time_range'] in time_range_dict:
+ params['url'] += time_range_url.format(time_range=time_range_dict[params['time_range']])
return params
diff --git a/tests/unit/engines/test_youtube_noapi.py b/tests/unit/engines/test_youtube_noapi.py
@@ -11,6 +11,7 @@ class TestYoutubeNoAPIEngine(SearxTestCase):
query = 'test_query'
dicto = defaultdict(dict)
dicto['pageno'] = 0
+ dicto['time_range'] = ''
params = youtube_noapi.request(query, dicto)
self.assertIn('url', params)
self.assertIn(query, params['url'])