[enh] improve gigablast engine
add language and safesearch support
This commit is contained in:
		
							parent
							
								
									371fc09b6f
								
							
						
					
					
						commit
						b9a9abe10d
					
				| @ -19,11 +19,21 @@ from time import time | ||||
| # engine dependent config | ||||
| categories = ['general'] | ||||
| paging = True | ||||
| number_of_results = 5 | ||||
| number_of_results = 10 | ||||
| language_support = True | ||||
| safesearch = True | ||||
| 
 | ||||
| # search-url, invalid HTTPS certificate | ||||
| # search-url | ||||
| base_url = 'https://gigablast.com/' | ||||
| search_string = 'search?{query}&n={number_of_results}&s={offset}&format=xml&qh=0&rxiyd={rxiyd}&rand={rand}' | ||||
| search_string = 'search?{query}'\ | ||||
|     '&n={number_of_results}'\ | ||||
|     '&s={offset}'\ | ||||
|     '&format=xml'\ | ||||
|     '&qh=0'\ | ||||
|     '&rxiyd={rxiyd}'\ | ||||
|     '&rand={rand}'\ | ||||
|     '&qlang={lang}'\ | ||||
|     '&ff={safesearch}' | ||||
| 
 | ||||
| # specific xpath variables | ||||
| results_xpath = '//response//result' | ||||
| @ -36,12 +46,23 @@ content_xpath = './/sum' | ||||
| def request(query, params): | ||||
|     offset = (params['pageno'] - 1) * number_of_results | ||||
| 
 | ||||
|     search_path = search_string.format( | ||||
|         query=urlencode({'q': query}), | ||||
|     if params['language'] == 'all': | ||||
|         language = 'xx' | ||||
|     else: | ||||
|         language = params['language'][0:2] | ||||
| 
 | ||||
|     if params['safesearch'] >= 1: | ||||
|         safesearch = 1 | ||||
|     else: | ||||
|         safesearch = 0 | ||||
| 
 | ||||
|     search_path = search_string.format(query=urlencode({'q': query}), | ||||
|                                        offset=offset, | ||||
|                                        number_of_results=number_of_results, | ||||
|                                        rxiyd=randint(10000, 10000000), | ||||
|         rand=int(time())) | ||||
|                                        rand=int(time()), | ||||
|                                        lang=language, | ||||
|                                        safesearch=safesearch) | ||||
| 
 | ||||
|     params['url'] = base_url + search_path | ||||
| 
 | ||||
|  | ||||
| @ -10,6 +10,7 @@ class TestGigablastEngine(SearxTestCase): | ||||
|         query = 'test_query' | ||||
|         dicto = defaultdict(dict) | ||||
|         dicto['pageno'] = 0 | ||||
|         dicto['language'] = 'all' | ||||
|         params = gigablast.request(query, dicto) | ||||
|         self.assertTrue('url' in params) | ||||
|         self.assertTrue(query in params['url']) | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user