Merge pull request #2380 from RomRider/fix-1706
add: support to scale numbers/amounts in a recipe step
This commit is contained in:
commit
25c8f18b79
@ -14,12 +14,14 @@ class IngredientObject(object):
|
|||||||
unit = ""
|
unit = ""
|
||||||
food = ""
|
food = ""
|
||||||
note = ""
|
note = ""
|
||||||
|
numeric_amount = 0
|
||||||
|
|
||||||
def __init__(self, ingredient):
|
def __init__(self, ingredient):
|
||||||
if ingredient.no_amount:
|
if ingredient.no_amount:
|
||||||
self.amount = ""
|
self.amount = ""
|
||||||
else:
|
else:
|
||||||
self.amount = f"<scalable-number v-bind:number='{bleach.clean(str(ingredient.amount))}' v-bind:factor='ingredient_factor'></scalable-number>"
|
self.amount = f"<scalable-number v-bind:number='{bleach.clean(str(ingredient.amount))}' v-bind:factor='ingredient_factor'></scalable-number>"
|
||||||
|
self.numeric_amount = float(ingredient.amount)
|
||||||
if ingredient.unit:
|
if ingredient.unit:
|
||||||
if ingredient.unit.plural_name in (None, ""):
|
if ingredient.unit.plural_name in (None, ""):
|
||||||
self.unit = bleach.clean(str(ingredient.unit))
|
self.unit = bleach.clean(str(ingredient.unit))
|
||||||
@ -83,9 +85,12 @@ def render_instructions(step): # TODO deduplicate markdown cleanup code
|
|||||||
for i in step.ingredients.all():
|
for i in step.ingredients.all():
|
||||||
ingredients.append(IngredientObject(i))
|
ingredients.append(IngredientObject(i))
|
||||||
|
|
||||||
|
def scale(number):
|
||||||
|
return f"<scalable-number v-bind:number='{bleach.clean(str(number))}' v-bind:factor='ingredient_factor'></scalable-number>"
|
||||||
|
|
||||||
try:
|
try:
|
||||||
template = Template(instructions)
|
template = Template(instructions)
|
||||||
instructions = template.render(ingredients=ingredients)
|
instructions = template.render(ingredients=ingredients, scale=scale)
|
||||||
except TemplateSyntaxError:
|
except TemplateSyntaxError:
|
||||||
return _('Could not parse template code.') + ' Error: Template Syntax broken'
|
return _('Could not parse template code.') + ' Error: Template Syntax broken'
|
||||||
except UndefinedError:
|
except UndefinedError:
|
||||||
|
Loading…
Reference in New Issue
Block a user