Coverage for opt/mealie/lib/python3.12/site-packages/mealie/routes/parser/ingredient_parser.py: 100%
17 statements
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 03:04 +0000
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 03:04 +0000
1from fastapi import APIRouter
3from mealie.routes._base import BaseUserController, controller
4from mealie.schema.recipe import ParsedIngredient
5from mealie.schema.recipe.recipe_ingredient import IngredientRequest, IngredientsRequest
6from mealie.services.parser_services import get_parser
8router = APIRouter(prefix="/parser")
11@controller(router)
12class IngredientParserController(BaseUserController):
13 @router.post("/ingredient", response_model=ParsedIngredient)
14 async def parse_ingredient(self, ingredient: IngredientRequest):
15 parser = get_parser(ingredient.parser, self.group_id, self.session)
16 response = await parser.parse([ingredient.ingredient])
17 return response[0]
19 @router.post("/ingredients", response_model=list[ParsedIngredient])
20 async def parse_ingredients(self, ingredients: IngredientsRequest):
21 parser = get_parser(ingredients.parser, self.group_id, self.session)
22 return await parser.parse(ingredients.ingredients)