✨ fruehstueck_inventar.py
This commit is contained in:
parent
03b19fe69d
commit
5c399fac3e
1 changed files with 78 additions and 0 deletions
78
fruehstueck_inventar.py
Normal file
78
fruehstueck_inventar.py
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
import csv
|
||||
import json
|
||||
import os
|
||||
import pprint
|
||||
import re
|
||||
import sys
|
||||
from collections import defaultdict
|
||||
from datetime import timedelta
|
||||
from pathlib import Path
|
||||
|
||||
from tqdm import tqdm
|
||||
|
||||
from config import *
|
||||
from lib import read_recipes
|
||||
|
||||
|
||||
# TODO read from csv
|
||||
wanted_servings = {
|
||||
"Aufstrich Zwiebel & Kümmel": 100,
|
||||
"Cashew-Streichkäse": 100,
|
||||
"GPN-Tomatenbutter": 100,
|
||||
"Granatapfelcreme": 100,
|
||||
"Gulaschmarmelade": 100,
|
||||
"Hummus": 100,
|
||||
"Matelade Apfel": 100,
|
||||
"Mungobohnenhummus mit Jalapenos und Zatar": 100,
|
||||
"Rauchige Schwarze Bohnencreme": 100,
|
||||
}
|
||||
|
||||
|
||||
# XXX move to lib
|
||||
def grams(ingredient):
|
||||
conversion = None
|
||||
for c in ingredient["conversions"]:
|
||||
if c["unit"] in ["g / Gramm", "g"]:
|
||||
conversion = c
|
||||
if conversion:
|
||||
return conversion.get("amount")
|
||||
|
||||
|
||||
def main():
|
||||
|
||||
recipes = read_recipes(keyword="Frühstück")
|
||||
|
||||
inventory = {}
|
||||
|
||||
for recipe in recipes:
|
||||
scale_factor = wanted_servings[recipe["name"]] / recipe["servings"]
|
||||
r_name = recipe["name"]
|
||||
for step in recipe["steps"]:
|
||||
for ingredient in step["ingredients"]:
|
||||
if not ingredient.get("food"):
|
||||
raise ValueError("No food in ingredient")
|
||||
continue
|
||||
i_grams = scale_factor * (grams(ingredient) or 0)
|
||||
i_name = ingredient["food"]["name"]
|
||||
i_description = ingredient["food"][
|
||||
"description"
|
||||
] # XXX probably not what i wanted
|
||||
|
||||
inventory.setdefault(i_name, []).append((i_grams, r_name))
|
||||
|
||||
print("!!! alert")
|
||||
print("automatisch erstellt, nicht editieren...")
|
||||
print("!!!")
|
||||
|
||||
for ingredient, entries in inventory.items():
|
||||
total = sum(amount for amount, _ in entries)
|
||||
|
||||
print(f"## {ingredient}")
|
||||
|
||||
print(f"- **{total:.1f}g** **Total**")
|
||||
for i_grams, r_name in entries:
|
||||
print(f"- {i_grams:.1f}g {r_name}")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Loading…
Add table
Add a link
Reference in a new issue