Improve recipe import for non schema.org recipes
This commit is contained in:
parent
8d3419952c
commit
cfcf354d59
@ -28,9 +28,14 @@ def get_from_scraper(scrape, request):
|
|||||||
recipe_json['name'] = ''
|
recipe_json['name'] = ''
|
||||||
|
|
||||||
try:
|
try:
|
||||||
description = scrape.schema.data.get("description") or ''
|
description = scrape.description() or None
|
||||||
except Exception:
|
except Exception:
|
||||||
description = ''
|
description = None
|
||||||
|
if not description:
|
||||||
|
try:
|
||||||
|
description = scrape.schema.data.get("description") or ''
|
||||||
|
except Exception:
|
||||||
|
description = ''
|
||||||
|
|
||||||
recipe_json['description'] = parse_description(description)
|
recipe_json['description'] = parse_description(description)
|
||||||
|
|
||||||
@ -51,13 +56,19 @@ def get_from_scraper(scrape, request):
|
|||||||
recipe_json['servings'] = max(servings, 1)
|
recipe_json['servings'] = max(servings, 1)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
recipe_json['prepTime'] = get_minutes(scrape.schema.data.get("prepTime")) or 0
|
recipe_json['prepTime'] = get_minutes(scrape.prep_time()) or 0
|
||||||
except Exception:
|
except Exception:
|
||||||
recipe_json['prepTime'] = 0
|
try:
|
||||||
|
recipe_json['prepTime'] = get_minutes(scrape.schema.data.get("prepTime")) or 0
|
||||||
|
except Exception:
|
||||||
|
recipe_json['prepTime'] = 0
|
||||||
try:
|
try:
|
||||||
recipe_json['cookTime'] = get_minutes(scrape.schema.data.get("cookTime")) or 0
|
recipe_json['cookTime'] = get_minutes(scrape.cook_time()) or 0
|
||||||
except Exception:
|
except Exception:
|
||||||
recipe_json['cookTime'] = 0
|
try:
|
||||||
|
recipe_json['cookTime'] = get_minutes(scrape.schema.data.get("cookTime")) or 0
|
||||||
|
except Exception:
|
||||||
|
recipe_json['cookTime'] = 0
|
||||||
|
|
||||||
if recipe_json['cookTime'] + recipe_json['prepTime'] == 0:
|
if recipe_json['cookTime'] + recipe_json['prepTime'] == 0:
|
||||||
try:
|
try:
|
||||||
@ -85,15 +96,23 @@ def get_from_scraper(scrape, request):
|
|||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
try:
|
try:
|
||||||
if scrape.schema.data.get('recipeCategory'):
|
if scrape.category():
|
||||||
keywords += listify_keywords(scrape.schema.data.get("recipeCategory"))
|
keywords += listify_keywords(scrape.category())
|
||||||
except Exception:
|
except Exception:
|
||||||
pass
|
try:
|
||||||
|
if scrape.schema.data.get('recipeCategory'):
|
||||||
|
keywords += listify_keywords(scrape.schema.data.get("recipeCategory"))
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
try:
|
try:
|
||||||
if scrape.schema.data.get('recipeCuisine'):
|
if scrape.cuisine():
|
||||||
keywords += listify_keywords(scrape.schema.data.get("recipeCuisine"))
|
keywords += listify_keywords(scrape.cuisine())
|
||||||
except Exception:
|
except Exception:
|
||||||
pass
|
try:
|
||||||
|
if scrape.schema.data.get('recipeCuisine'):
|
||||||
|
keywords += listify_keywords(scrape.schema.data.get("recipeCuisine"))
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
try:
|
try:
|
||||||
recipe_json['keywords'] = parse_keywords(list(set(map(str.casefold, keywords))), request.space)
|
recipe_json['keywords'] = parse_keywords(list(set(map(str.casefold, keywords))), request.space)
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
@ -146,9 +165,9 @@ def get_from_scraper(scrape, request):
|
|||||||
except Exception:
|
except Exception:
|
||||||
recipe_json['recipeInstructions'] = ""
|
recipe_json['recipeInstructions'] = ""
|
||||||
|
|
||||||
if scrape.url:
|
if scrape.canonical_url():
|
||||||
recipe_json['url'] = scrape.url
|
recipe_json['url'] = scrape.canonical_url()
|
||||||
recipe_json['recipeInstructions'] += "\n\n" + _("Imported from") + ": " + scrape.url
|
recipe_json['recipeInstructions'] += "\n\n" + _("Imported from") + ": " + scrape.canonical_url()
|
||||||
return recipe_json
|
return recipe_json
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user