Merge pull request #96 from return42/unsplash
lint & fix unsplash engine
This commit is contained in:
		
						commit
						b1da97d092
					
				| @ -1,11 +1,16 @@ | |||||||
| # SPDX-License-Identifier: AGPL-3.0-or-later | # SPDX-License-Identifier: AGPL-3.0-or-later | ||||||
| """ | # lint: pylint | ||||||
|  Unsplash | # pylint: disable=missing-function-docstring | ||||||
|  | """Unsplash | ||||||
|  | 
 | ||||||
| """ | """ | ||||||
| 
 | 
 | ||||||
| from urllib.parse import urlencode, urlparse, urlunparse, parse_qsl | from urllib.parse import urlencode, urlparse, urlunparse, parse_qsl | ||||||
| from json import loads | from json import loads | ||||||
| 
 | 
 | ||||||
|  | from searx import logger | ||||||
|  | 
 | ||||||
|  | logger = logger.getChild('unsplash engine') | ||||||
| # about | # about | ||||||
| about = { | about = { | ||||||
|     "website": 'https://unsplash.com', |     "website": 'https://unsplash.com', | ||||||
| @ -16,8 +21,8 @@ about = { | |||||||
|     "results": 'JSON', |     "results": 'JSON', | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| url = 'https://unsplash.com/' | base_url = 'https://unsplash.com/' | ||||||
| search_url = url + 'napi/search/photos?' | search_url = base_url + 'napi/search/photos?' | ||||||
| categories = ['images'] | categories = ['images'] | ||||||
| page_size = 20 | page_size = 20 | ||||||
| paging = True | paging = True | ||||||
| @ -25,18 +30,24 @@ paging = True | |||||||
| 
 | 
 | ||||||
| def clean_url(url): | def clean_url(url): | ||||||
|     parsed = urlparse(url) |     parsed = urlparse(url) | ||||||
|     query = [(k, v) for (k, v) in parse_qsl(parsed.query) if k not in ['ixid', 's']] |     query = [(k, v) for (k, v) | ||||||
|  |              in parse_qsl(parsed.query) if k not in ['ixid', 's']] | ||||||
| 
 | 
 | ||||||
|     return urlunparse((parsed.scheme, |     return urlunparse(( | ||||||
|  |         parsed.scheme, | ||||||
|         parsed.netloc, |         parsed.netloc, | ||||||
|         parsed.path, |         parsed.path, | ||||||
|         parsed.params, |         parsed.params, | ||||||
|         urlencode(query), |         urlencode(query), | ||||||
|                        parsed.fragment)) |         parsed.fragment | ||||||
|  |     )) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def request(query, params): | def request(query, params): | ||||||
|     params['url'] = search_url + urlencode({'query': query, 'page': params['pageno'], 'per_page': page_size}) |     params['url'] = search_url + urlencode({ | ||||||
|  |         'query': query, 'page': params['pageno'], 'per_page': page_size | ||||||
|  |     }) | ||||||
|  |     logger.debug("query_url --> %s", params['url']) | ||||||
|     return params |     return params | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -46,10 +57,13 @@ def response(resp): | |||||||
| 
 | 
 | ||||||
|     if 'results' in json_data: |     if 'results' in json_data: | ||||||
|         for result in json_data['results']: |         for result in json_data['results']: | ||||||
|             results.append({'template': 'images.html', |             results.append({ | ||||||
|  |                 'template': 'images.html', | ||||||
|                 'url': clean_url(result['links']['html']), |                 'url': clean_url(result['links']['html']), | ||||||
|                 'thumbnail_src': clean_url(result['urls']['thumb']), |                 'thumbnail_src': clean_url(result['urls']['thumb']), | ||||||
|                 'img_src': clean_url(result['urls']['raw']), |                 'img_src': clean_url(result['urls']['raw']), | ||||||
|                             'title': result['description'], |                 'title': result.get('alt_description') or 'unknown', | ||||||
|                             'content': ''}) |                 'content': result.get('description') or '' | ||||||
|  |             }) | ||||||
|  | 
 | ||||||
|     return results |     return results | ||||||
|  | |||||||
| @ -1040,7 +1040,6 @@ engines: | |||||||
| 
 | 
 | ||||||
|   - name : unsplash |   - name : unsplash | ||||||
|     engine : unsplash |     engine : unsplash | ||||||
|     disabled: True |  | ||||||
|     shortcut : us |     shortcut : us | ||||||
| 
 | 
 | ||||||
|   - name : yahoo |   - name : yahoo | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Alexandre Flament
						Alexandre Flament