check for scrape.schema before using it

This commit is contained in:
smilerz
2021-03-04 14:59:56 -06:00
parent 049449bda3
commit 3b072d5dd9

View File

@@ -226,8 +226,16 @@ def get_from_scraper(scrape):
recipe_json = {}
recipe_json['name'] = scrape.title()
if scrape.schema:
description = scrape.schema.data.get("description") or ''
recipe_json['prepTime'] = _utils.get_minutes(scrape.schema.data.get("prepTime")) or 0
recipe_json['cookTime'] = _utils.get_minutes(scrape.schema.data.get("cookTime")) or 0
else:
recipe_json['description'] = ''
description = scrape.schema.data.get("description")
recipe_json['prepTime'] = 0
recipe_json['cookTime'] = 0
description += "\n\nImported from " + scrape.url
recipe_json['description'] = description
@@ -238,8 +246,7 @@ def get_from_scraper(scrape):
servings = 1
recipe_json['servings'] = servings
recipe_json['prepTime'] = _utils.get_minutes(scrape.schema.data.get("prepTime")) or 0
recipe_json['cookTime'] = _utils.get_minutes(scrape.schema.data.get("cookTime")) or 0
if recipe_json['cookTime'] + recipe_json['prepTime'] == 0:
try:
recipe_json['prepTime'] = scrape.total_time()
@@ -252,6 +259,7 @@ def get_from_scraper(scrape):
pass
keywords = []
if scrape.schema:
if scrape.schema.data.get("keywords"):
keywords += listify_keywords(scrape.schema.data.get("keywords"))
if scrape.schema.data.get('recipeCategory'):
@@ -259,6 +267,8 @@ def get_from_scraper(scrape):
if scrape.schema.data.get('recipeCuisine'):
keywords += listify_keywords(scrape.schema.data.get("recipeCuisine"))
recipe_json['keywords'] = parse_keywords(list(set(map(str.casefold, keywords))))
else:
recipe_json['keywords'] = keywords
try:
ingredients = []