small tweaks

This commit is contained in:
vabene1111 2021-03-18 20:48:28 +01:00
parent cc3e00e75f
commit 55920501b8
2 changed files with 6 additions and 8 deletions

View File

@ -126,7 +126,7 @@ def find_recipe_json(ld_json, url, space):
ld_json['recipeIngredient'] = [] ld_json['recipeIngredient'] = []
if 'keywords' in ld_json: if 'keywords' in ld_json:
ld_json['keywords'] = parse_keywords(listify_keywords(ld_json['keywords'])) ld_json['keywords'] = parse_keywords(listify_keywords(ld_json['keywords']), space)
if 'recipeInstructions' in ld_json: if 'recipeInstructions' in ld_json:
instructions = '' instructions = ''
@ -221,13 +221,12 @@ def find_recipe_json(ld_json, url, space):
return ld_json return ld_json
def get_from_scraper(scrape): def get_from_scraper(scrape, space):
# converting the scrape_me object to the existing json format based on ld+json # converting the scrape_me object to the existing json format based on ld+json
recipe_json = {} recipe_json = {}
recipe_json['name'] = scrape.title() recipe_json['name'] = scrape.title()
try: try:
description = scrape.schema.data.get("description") or '' description = scrape.schema.data.get("description") or ''
recipe_json['prepTime'] = _utils.get_minutes(scrape.schema.data.get("prepTime")) or 0 recipe_json['prepTime'] = _utils.get_minutes(scrape.schema.data.get("prepTime")) or 0
@ -247,7 +246,6 @@ def get_from_scraper(scrape):
servings = 1 servings = 1
recipe_json['servings'] = servings recipe_json['servings'] = servings
if recipe_json['cookTime'] + recipe_json['prepTime'] == 0: if recipe_json['cookTime'] + recipe_json['prepTime'] == 0:
try: try:
recipe_json['prepTime'] = scrape.total_time() recipe_json['prepTime'] = scrape.total_time()
@ -267,7 +265,7 @@ def get_from_scraper(scrape):
keywords += listify_keywords(scrape.schema.data.get("recipeCategory")) keywords += listify_keywords(scrape.schema.data.get("recipeCategory"))
if scrape.schema.data.get('recipeCuisine'): if scrape.schema.data.get('recipeCuisine'):
keywords += listify_keywords(scrape.schema.data.get("recipeCuisine")) keywords += listify_keywords(scrape.schema.data.get("recipeCuisine"))
recipe_json['keywords'] = parse_keywords(list(set(map(str.casefold, keywords)))) recipe_json['keywords'] = parse_keywords(list(set(map(str.casefold, keywords))), space)
except AttributeError: except AttributeError:
recipe_json['keywords'] = keywords recipe_json['keywords'] = keywords
@ -320,11 +318,11 @@ def get_from_scraper(scrape):
return recipe_json return recipe_json
def parse_keywords(keyword_json): def parse_keywords(keyword_json, space):
keywords = [] keywords = []
# keywords as list # keywords as list
for kw in keyword_json: for kw in keyword_json:
if k := Keyword.objects.filter(name=kw).first(): if k := Keyword.objects.filter(name=kw, space=space).first():
keywords.append({'id': str(k.id), 'text': str(k)}) keywords.append({'id': str(k.id), 'text': str(k)})
else: else:
keywords.append({'id': random.randrange(1111111, 9999999, 1), 'text': kw}) keywords.append({'id': random.randrange(1111111, 9999999, 1), 'text': kw})

View File

@ -552,7 +552,7 @@ def recipe_from_url(request):
}, },
status=400 status=400
) )
return JsonResponse(get_from_scraper(scrape)) return JsonResponse(get_from_scraper(scrape, request.space))
@group_required('user') @group_required('user')