diff --git a/Dockerfile b/Dockerfile index a4621d8..7243e52 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,9 +5,8 @@ RUN apk add --no-cache python3 py3-build py3-hatchling && \ python3 -m build . FROM alpine:3.18 -COPY --from=build /build/dist/ /mnt +COPY --from=build /build/dist/comfy-recipes-*-py3-none-any.whl / RUN apk add --no-cache python3 py3-pip && \ - pip install /mnt/comfy_recipes-*-py3-none-any.whl && \ - apk del py3-pip && \ - rm -r /mnt + pip install /comfy-recipes-*-py3-none-any.whl && \ + apk del py3-pip ENTRYPOINT ["/usr/bin/recipes-cli"] diff --git a/comfyrecipes/parsing.py b/comfyrecipes/parsing.py index 6778e05..7f73140 100644 --- a/comfyrecipes/parsing.py +++ b/comfyrecipes/parsing.py @@ -289,7 +289,7 @@ class Recipe(Element): source: Optional[SafeHTML], ingredients: List[IngredientInstance], subrecipes: List["Recipe"], - price: Optional["MultiPriceDB"], + price: Optional["PriceDB"], stepsections: List[StepSection], ) -> None: super().__init__(ctx) @@ -317,7 +317,7 @@ class Recipe(Element): rp = Recipe.from_dict(ctx, partdct) subrecipes.append(rp) - price: Optional[MultiPriceDB] = None + price: Optional[PriceDB] = None pricex: float = 0 ingswithprice = 0 ingswithoutprice = 0 @@ -335,22 +335,16 @@ class Recipe(Element): # we don't know how to convert currencies yet currency = None break - if currency is None or len(ingredients) == 0: + if currency is None or ingswithoutprice != 0 or len(ingredients) == 0: price = None else: - pricedb = PriceDB( + price = PriceDB( ctx=ctx, price=pricex, amount=1, unit=ctx.default_unit, currency=currency, ) - price = MultiPriceDB( - ctx=ctx, - pricedb=pricedb, - item_count=len(ingredients), - item_prices_missing=ingswithoutprice, - ) stepsections: List[StepSection] = [] if "steps" in dct: @@ -600,16 +594,3 @@ class PriceDB(Element): if currency is None: raise RuntimeError("currency not specified and default_currency is also not set") return cls(ctx=ctx, price=price, amount=amount, unit=unit, currency=currency) - -class MultiPriceDB(Element): - def __init__( - self, - ctx: Context, - pricedb: PriceDB, - item_count: int, - item_prices_missing: int, - ) -> None: - super().__init__(ctx) - self.pricedb = pricedb - self.item_count = item_count - self.item_prices_missing = item_prices_missing diff --git a/comfyrecipes/templates/base.html b/comfyrecipes/templates/base.html index b85b929..cf3a0b6 100644 --- a/comfyrecipes/templates/base.html +++ b/comfyrecipes/templates/base.html @@ -1,24 +1,12 @@ {% macro price(price) -%} {% if price != None and price is defined and price.price is defined %}{{price.price|round(1)|numprint}}{%else%}?{% endif %} {{price.currency}} {%- endmacro %} -{% macro multiprice(multiprice, shortform) -%} -{% if multiprice != None and multiprice.pricedb != None and multiprice.pricedb is defined and multiprice.pricedb.price is defined -%} -{{multiprice.pricedb.price|round(1)|numprint}} -{%else%} -? -{%- endif %} - {{multiprice.pricedb.currency}} -{%if multiprice.item_prices_missing != 0 and not shortform%} -({{multiprice.item_prices_missing}}/{{multiprice.item_count}} prices missing) -{%endif%} -{%- endmacro %}