[feat] engine: implementation of fyyd
This commit is contained in:
		
							parent
							
								
									527e13ab46
								
							
						
					
					
						commit
						b5b81c9806
					
				
							
								
								
									
										50
									
								
								searx/engines/fyyd.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								searx/engines/fyyd.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,50 @@ | |||||||
|  | # SPDX-License-Identifier: AGPL-3.0-or-later | ||||||
|  | # lint: pylint | ||||||
|  | """Fyyd (podcasts) | ||||||
|  | """ | ||||||
|  | 
 | ||||||
|  | from datetime import datetime | ||||||
|  | from urllib.parse import urlencode | ||||||
|  | 
 | ||||||
|  | about = { | ||||||
|  |     'website': 'https://fyyd.de', | ||||||
|  |     'official_api_documentation': 'https://github.com/eazyliving/fyyd-api', | ||||||
|  |     'use_official_api': True, | ||||||
|  |     'require_api_key': False, | ||||||
|  |     'results': 'JSON', | ||||||
|  | } | ||||||
|  | categories = [] | ||||||
|  | paging = True | ||||||
|  | 
 | ||||||
|  | base_url = "https://api.fyyd.de" | ||||||
|  | page_size = 10 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def request(query, params): | ||||||
|  |     args = { | ||||||
|  |         'term': query, | ||||||
|  |         'count': page_size, | ||||||
|  |         'page': params['pageno'] - 1, | ||||||
|  |     } | ||||||
|  |     params['url'] = f"{base_url}/0.2/search/podcast?{urlencode(args)}" | ||||||
|  |     return params | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def response(resp): | ||||||
|  |     results = [] | ||||||
|  | 
 | ||||||
|  |     json_results = resp.json()['data'] | ||||||
|  | 
 | ||||||
|  |     for result in json_results: | ||||||
|  |         results.append( | ||||||
|  |             { | ||||||
|  |                 'url': result['htmlURL'], | ||||||
|  |                 'title': result['title'], | ||||||
|  |                 'content': result['description'], | ||||||
|  |                 'thumbnail': result['smallImageURL'], | ||||||
|  |                 'publishedDate': datetime.strptime(result['status_since'], '%Y-%m-%d %H:%M:%S'), | ||||||
|  |                 'metadata': f"Rank: {result['rank']} || {result['episode_count']} episodes", | ||||||
|  |             } | ||||||
|  |         ) | ||||||
|  | 
 | ||||||
|  |     return results | ||||||
| @ -732,6 +732,12 @@ engines: | |||||||
|     shortcut: frk |     shortcut: frk | ||||||
|     disabled: true |     disabled: true | ||||||
| 
 | 
 | ||||||
|  |   - name: fyyd | ||||||
|  |     engine: fyyd | ||||||
|  |     shortcut: fy | ||||||
|  |     timeout: 8.0 | ||||||
|  |     disabled: true | ||||||
|  | 
 | ||||||
|   - name: genius |   - name: genius | ||||||
|     engine: genius |     engine: genius | ||||||
|     shortcut: gen |     shortcut: gen | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user