recipe.py•2.71 kB
from typing import Any, Dict, List, Optional
from pydantic import BaseModel, Field
class RecipeIngredient(BaseModel):
quantity: Optional[float] = None
unit: Optional[str] = None
food: Optional[str] = None
note: str
isFood: Optional[bool] = True
disableAmount: Optional[bool] = False
display: Optional[str] = None
title: Optional[str] = None
originalText: Optional[str] = None
referenceId: Optional[str] = None
class RecipeInstruction(BaseModel):
id: Optional[str] = None
title: Optional[str] = None
summary: Optional[str] = None
text: str
ingredientReferences: List[str] = Field(default_factory=list)
class RecipeNutrition(BaseModel):
calories: Optional[str] = None
carbohydrateContent: Optional[str] = None
cholesterolContent: Optional[str] = None
fatContent: Optional[str] = None
fiberContent: Optional[str] = None
proteinContent: Optional[str] = None
saturatedFatContent: Optional[str] = None
sodiumContent: Optional[str] = None
sugarContent: Optional[str] = None
transFatContent: Optional[str] = None
unsaturatedFatContent: Optional[str] = None
class RecipeSettings(BaseModel):
public: bool = False
showNutrition: bool = False
showAssets: bool = False
landscapeView: bool = False
disableComments: bool = False
disableAmount: bool = False
locked: bool = False
class Recipe(BaseModel):
id: str
userId: str
householdId: str
groupId: str
name: str
slug: str
image: Optional[str] = None
recipeServings: Optional[int] = None
recipeYieldQuantity: Optional[int] = 0
recipeYield: Optional[str] = None
totalTime: Optional[int] = None
prepTime: Optional[int] = None
cookTime: Optional[int] = None
performTime: Optional[int] = None
description: Optional[str] = None
recipeCategory: List[str] = Field(default_factory=list)
tags: List[str] = Field(default_factory=list)
tools: List[str] = Field(default_factory=list)
rating: Optional[float] = None
orgURL: Optional[str] = None
dateAdded: str
dateUpdated: str
createdAt: str
updatedAt: str
lastMade: Optional[str] = None
recipeIngredient: List[RecipeIngredient] = Field(default_factory=list)
recipeInstructions: List[RecipeInstruction] = Field(default_factory=list)
nutrition: RecipeNutrition = Field(default_factory=RecipeNutrition)
settings: RecipeSettings = Field(default_factory=RecipeSettings)
assets: List[Any] = Field(default_factory=list)
notes: List[Any] = Field(default_factory=list)
extras: Dict[str, Any] = Field(default_factory=dict)
comments: List[Any] = Field(default_factory=list)