.oO SearXNG Developer Documentation Oo.
Loading...
Searching...
No Matches
searx.engines.yummly Namespace Reference

Functions

 request (query, params)
 
 response (resp)
 

Variables

dict about
 
bool paging = True
 
list categories = []
 
str api_url = "https://mapi.yummly.com"
 
int number_of_results = 10
 
bool show_pro_recipes = False
 
str base_url = "https://www.yummly.com"
 

Detailed Description

Yummly

Function Documentation

◆ request()

searx.engines.yummly.request ( query,
params )

Definition at line 28 of file yummly.py.

28def request(query, params):
29 args = {
30 'q': query,
31 'start': (params['pageno'] - 1) * number_of_results,
32 'maxResult': number_of_results,
33 }
34
35 params['url'] = f"{api_url}/mapi/v23/content/search?{urlencode(args)}&allowedContent=single_recipe"
36
37 return params
38
39

◆ response()

searx.engines.yummly.response ( resp)

Definition at line 40 of file yummly.py.

40def response(resp):
41 results = []
42
43 json = resp.json()
44
45 for result in json['feed']:
46 # don't show pro recipes since they can't be accessed without an account
47 if not show_pro_recipes and result['proRecipe']:
48 continue
49
50 content = result['seo']['web']['meta-tags']['description']
51 description = result['content']['description']
52 if description is not None:
53 content = markdown_to_text(description['text'])
54
55 img_src = None
56 if result['display']['images']:
57 img_src = result['display']['images'][0]
58 elif result['content']['details']['images']:
59 img_src = result['content']['details']['images'][0]['resizableImageUrl']
60
61 url = result['display']['source']['sourceRecipeUrl']
62 if 'www.yummly.com/private' in url:
63 url = base_url + '/' + result['tracking-id']
64
65 results.append(
66 {
67 'url': url,
68 'title': result['display']['displayName'],
69 'content': content,
70 'img_src': img_src,
71 'metadata': gettext('Language') + f": {result['locale'].split('-')[0]}",
72 }
73 )
74
75 for suggestion in json['relatedPhrases']['keywords']:
76 results.append({'suggestion': suggestion})
77
78 return results

Variable Documentation

◆ about

dict searx.engines.yummly.about
Initial value:
1= {
2 "website": 'https://yummly.com',
3 "wikidata_id": 'Q8061140',
4 # not used since it requires an api key
5 "official_api_documentation": 'https://developer.yummly.com/documentation.html',
6 "use_official_api": False,
7 "require_api_key": False,
8 "results": 'JSON',
9}

Definition at line 10 of file yummly.py.

◆ api_url

str searx.engines.yummly.api_url = "https://mapi.yummly.com"

Definition at line 22 of file yummly.py.

◆ base_url

str searx.engines.yummly.base_url = "https://www.yummly.com"

Definition at line 25 of file yummly.py.

◆ categories

list searx.engines.yummly.categories = []

Definition at line 20 of file yummly.py.

◆ number_of_results

int searx.engines.yummly.number_of_results = 10

Definition at line 23 of file yummly.py.

◆ paging

bool searx.engines.yummly.paging = True

Definition at line 19 of file yummly.py.

◆ show_pro_recipes

bool searx.engines.yummly.show_pro_recipes = False

Definition at line 24 of file yummly.py.