🚧
This commit is contained in:
parent
b2ab88b216
commit
a1ab4c0b5a
34 changed files with 208 additions and 140 deletions
|
@ -1,5 +1,8 @@
|
|||
import json
|
||||
import re
|
||||
import os
|
||||
|
||||
from config import *
|
||||
|
||||
def normalize_ingredients(recipe):
|
||||
if 'recipeIngredient' in recipe:
|
||||
|
@ -42,4 +45,68 @@ def normalize_recipe(recipe):
|
|||
return cleaned_recipe
|
||||
|
||||
|
||||
# TODO
|
||||
# TODO: functions oben sind so nicht mehr funktional
|
||||
|
||||
|
||||
def check_recipe(recipe) -> list:
|
||||
md = []
|
||||
if 'steps' in recipe:
|
||||
steps = recipe['steps']
|
||||
else:
|
||||
steps = []
|
||||
md.append("No steps?")
|
||||
for i, step in enumerate(steps, 1):
|
||||
md += check_ingredients(step)
|
||||
return md
|
||||
|
||||
def normalize_amount(a):
|
||||
if a == round(a):
|
||||
return round(a)
|
||||
else:
|
||||
return a
|
||||
|
||||
def check_ingredients(step):
|
||||
md = []
|
||||
for ingredient in step['ingredients']:
|
||||
i_amount = ingredient["amount"]
|
||||
i_amount = normalize_amount(i_amount)
|
||||
|
||||
if not ingredient.get("unit"):
|
||||
i_unit = ""
|
||||
if i_amount:
|
||||
md.append("- Amount but no unit?")
|
||||
else:
|
||||
i_unit = ingredient["unit"]["name"]
|
||||
|
||||
if i_unit and i_unit not in VALID_UNITS:
|
||||
md.append(f"- Invalid unit {i_unit}")
|
||||
|
||||
if not ingredient.get("food"):
|
||||
md.append("- No food element in ingredient?")
|
||||
continue
|
||||
return md
|
||||
|
||||
|
||||
def make_link(recipe):
|
||||
return f"[{recipe["name"]}]({TANDOOR_URL + "/view/recipe/" + str(recipe["id"])})"
|
||||
|
||||
def main():
|
||||
|
||||
recipes = []
|
||||
for json_file in os.listdir(OUTDIR_JSON):
|
||||
with open(os.path.join(OUTDIR_JSON, json_file), 'r', encoding='utf-8') as f:
|
||||
data = json.load(f)
|
||||
recipes.append(data)
|
||||
|
||||
for recipe in recipes:
|
||||
md = check_recipe(recipe)
|
||||
if not md:
|
||||
print(f"## 💚 {make_link(recipe)}")
|
||||
else:
|
||||
print(f"## 💔 {make_link(recipe)}")
|
||||
for line in md:
|
||||
print(line)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
||||
|
|
|
@ -14,3 +14,17 @@ OUTDIR = "out"
|
|||
OUTDIR_JSON = OUTDIR + "/json"
|
||||
OUTDIR_MARKDOWN = OUTDIR + "/markdown"
|
||||
OUTDIR_MEDIAWIKI = OUTDIR + "/mediawiki"
|
||||
|
||||
# TODO einheitliche einheiten
|
||||
VALID_UNITS = [
|
||||
"g",
|
||||
"g / Gramm",
|
||||
"kg",
|
||||
"kg / Kilogramm",
|
||||
"ml",
|
||||
"Milliliter",
|
||||
"Liter",
|
||||
"l",
|
||||
"Stück",
|
||||
"Zehe",
|
||||
]
|
|
@ -54,7 +54,7 @@
|
|||
"name": "Fr\u00fchst\u00fcck",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.382950+02:00"
|
||||
"updated_at": "2025-06-06T23:47:20.997171+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2024-08-12T00:12:55.162950+02:00",
|
||||
|
@ -65,7 +65,7 @@
|
|||
"name": "GPN",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.390461+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.362265+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2025-05-01T17:04:38.215340+02:00",
|
||||
|
@ -76,7 +76,7 @@
|
|||
"name": "gpn23",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.397181+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.365514+02:00"
|
||||
}
|
||||
],
|
||||
"last_cooked": null,
|
||||
|
@ -760,7 +760,17 @@
|
|||
{
|
||||
"amount": 4.0,
|
||||
"food": "Wasser",
|
||||
"unit": "|"
|
||||
"unit": "l"
|
||||
},
|
||||
{
|
||||
"amount": 4000.0,
|
||||
"food": "Wasser",
|
||||
"unit": "Milliliter"
|
||||
},
|
||||
{
|
||||
"amount": 4.0,
|
||||
"food": "Wasser",
|
||||
"unit": "Liter"
|
||||
}
|
||||
],
|
||||
"food": {
|
||||
|
@ -796,11 +806,11 @@
|
|||
"original_text": null,
|
||||
"unit": {
|
||||
"base_unit": null,
|
||||
"description": null,
|
||||
"id": 48,
|
||||
"name": "|",
|
||||
"description": "",
|
||||
"id": 47,
|
||||
"name": "l",
|
||||
"open_data_slug": null,
|
||||
"plural_name": "|"
|
||||
"plural_name": "l"
|
||||
},
|
||||
"used_in_recipes": [
|
||||
{
|
||||
|
@ -897,7 +907,7 @@
|
|||
"time": 20
|
||||
}
|
||||
],
|
||||
"updated_at": "2025-06-06T16:01:22.369871+02:00",
|
||||
"updated_at": "2025-06-06T22:41:16.181212+02:00",
|
||||
"waiting_time": 0,
|
||||
"working_time": 0
|
||||
}
|
|
@ -64,7 +64,7 @@
|
|||
"name": "Aufstrich",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-02T20:56:03.183760+02:00"
|
||||
"updated_at": "2025-06-06T23:47:20.994220+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2024-08-11T22:29:36.599408+02:00",
|
||||
|
@ -75,7 +75,7 @@
|
|||
"name": "Fr\u00fchst\u00fcck",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.382950+02:00"
|
||||
"updated_at": "2025-06-06T23:47:20.997171+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2024-08-12T00:12:55.162950+02:00",
|
||||
|
@ -86,7 +86,7 @@
|
|||
"name": "GPN",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.390461+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.362265+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2025-05-01T17:04:38.215340+02:00",
|
||||
|
@ -97,7 +97,7 @@
|
|||
"name": "gpn23",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.397181+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.365514+02:00"
|
||||
}
|
||||
],
|
||||
"last_cooked": null,
|
||||
|
|
|
@ -79,7 +79,7 @@
|
|||
"name": "Aufstrich",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-02T20:56:03.183760+02:00"
|
||||
"updated_at": "2025-06-06T23:47:20.994220+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2024-08-12T00:12:55.162950+02:00",
|
||||
|
@ -90,7 +90,7 @@
|
|||
"name": "GPN",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.390461+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.362265+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2025-05-01T17:04:38.072417+02:00",
|
||||
|
@ -134,7 +134,7 @@
|
|||
"name": "gpn23",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.397181+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.365514+02:00"
|
||||
}
|
||||
],
|
||||
"last_cooked": null,
|
||||
|
|
|
@ -94,7 +94,7 @@
|
|||
"name": "GPN",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.390461+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.362265+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2025-05-01T17:04:38.215340+02:00",
|
||||
|
@ -105,7 +105,7 @@
|
|||
"name": "gpn23",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.397181+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.365514+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2024-08-12T00:11:38.608095+02:00",
|
||||
|
|
|
@ -64,7 +64,7 @@
|
|||
"name": "Aufstrich",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-02T20:56:03.183760+02:00"
|
||||
"updated_at": "2025-06-06T23:47:20.994220+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2024-08-11T22:29:36.599408+02:00",
|
||||
|
@ -75,7 +75,7 @@
|
|||
"name": "Fr\u00fchst\u00fcck",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.382950+02:00"
|
||||
"updated_at": "2025-06-06T23:47:20.997171+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2024-08-12T00:12:55.162950+02:00",
|
||||
|
@ -86,7 +86,7 @@
|
|||
"name": "GPN",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.390461+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.362265+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2025-05-01T17:04:38.072417+02:00",
|
||||
|
@ -130,7 +130,7 @@
|
|||
"name": "gpn23",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.397181+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.365514+02:00"
|
||||
}
|
||||
],
|
||||
"last_cooked": null,
|
||||
|
|
|
@ -79,7 +79,7 @@
|
|||
"name": "Aufstrich",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-02T20:56:03.183760+02:00"
|
||||
"updated_at": "2025-06-06T23:47:20.994220+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2024-08-11T22:29:36.599408+02:00",
|
||||
|
@ -90,7 +90,7 @@
|
|||
"name": "Fr\u00fchst\u00fcck",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.382950+02:00"
|
||||
"updated_at": "2025-06-06T23:47:20.997171+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2024-08-12T00:12:55.162950+02:00",
|
||||
|
@ -101,7 +101,7 @@
|
|||
"name": "GPN",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.390461+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.362265+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2025-05-01T17:04:38.215340+02:00",
|
||||
|
@ -112,7 +112,7 @@
|
|||
"name": "gpn23",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.397181+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.365514+02:00"
|
||||
}
|
||||
],
|
||||
"last_cooked": null,
|
||||
|
@ -904,9 +904,9 @@
|
|||
]
|
||||
}
|
||||
],
|
||||
"instruction": "",
|
||||
"instructions_markdown": "",
|
||||
"name": "",
|
||||
"instruction": "Dann alles mit den restlichen Zutaten durchp\u00fcrieren \ud83c\udf2a\ufe0f.",
|
||||
"instructions_markdown": "<p>Dann alles mit den restlichen Zutaten durchp\u00fcrieren \ud83c\udf2a\ufe0f.</p>",
|
||||
"name": "P\u00fcrieren",
|
||||
"order": 1,
|
||||
"show_as_header": false,
|
||||
"show_ingredients_table": true,
|
||||
|
@ -915,7 +915,7 @@
|
|||
"time": 0
|
||||
}
|
||||
],
|
||||
"updated_at": "2025-05-01T18:50:09.619476+02:00",
|
||||
"updated_at": "2025-06-06T23:20:56.159677+02:00",
|
||||
"waiting_time": 0,
|
||||
"working_time": 0
|
||||
}
|
|
@ -54,7 +54,7 @@
|
|||
"name": "Fr\u00fchst\u00fcck",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.382950+02:00"
|
||||
"updated_at": "2025-06-06T23:47:20.997171+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2024-08-12T00:12:55.162950+02:00",
|
||||
|
@ -65,7 +65,7 @@
|
|||
"name": "GPN",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.390461+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.362265+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2025-05-01T17:04:38.215340+02:00",
|
||||
|
@ -76,7 +76,7 @@
|
|||
"name": "gpn23",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.397181+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.365514+02:00"
|
||||
}
|
||||
],
|
||||
"last_cooked": null,
|
||||
|
|
|
@ -119,7 +119,7 @@
|
|||
"name": "GPN",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.390461+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.362265+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2025-05-01T17:04:38.215340+02:00",
|
||||
|
@ -130,7 +130,7 @@
|
|||
"name": "gpn23",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.397181+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.365514+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2024-08-12T00:11:38.608095+02:00",
|
||||
|
|
|
@ -74,7 +74,7 @@
|
|||
"name": "Aufstrich",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-02T20:56:03.183760+02:00"
|
||||
"updated_at": "2025-06-06T23:47:20.994220+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2024-08-11T22:29:36.599408+02:00",
|
||||
|
@ -85,7 +85,7 @@
|
|||
"name": "Fr\u00fchst\u00fcck",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.382950+02:00"
|
||||
"updated_at": "2025-06-06T23:47:20.997171+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2024-08-12T00:12:55.162950+02:00",
|
||||
|
@ -96,7 +96,7 @@
|
|||
"name": "GPN",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.390461+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.362265+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2025-05-01T17:04:38.215340+02:00",
|
||||
|
@ -107,7 +107,7 @@
|
|||
"name": "gpn23",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.397181+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.365514+02:00"
|
||||
}
|
||||
],
|
||||
"last_cooked": null,
|
||||
|
@ -705,33 +705,6 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"always_use_plural_food": false,
|
||||
"always_use_plural_unit": false,
|
||||
"amount": 0.0,
|
||||
"conversions": [],
|
||||
"food": null,
|
||||
"id": 537,
|
||||
"is_header": false,
|
||||
"no_amount": false,
|
||||
"note": "",
|
||||
"order": 8,
|
||||
"original_text": null,
|
||||
"unit": {
|
||||
"base_unit": "g",
|
||||
"description": "",
|
||||
"id": 5,
|
||||
"name": "g / Gramm",
|
||||
"open_data_slug": null,
|
||||
"plural_name": "g"
|
||||
},
|
||||
"used_in_recipes": [
|
||||
{
|
||||
"id": 24,
|
||||
"name": "Kattis Hummus"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"always_use_plural_food": false,
|
||||
"always_use_plural_unit": false,
|
||||
|
@ -777,7 +750,7 @@
|
|||
"is_header": false,
|
||||
"no_amount": false,
|
||||
"note": "",
|
||||
"order": 9,
|
||||
"order": 8,
|
||||
"original_text": null,
|
||||
"unit": {
|
||||
"base_unit": "g",
|
||||
|
@ -806,7 +779,7 @@
|
|||
"time": 0
|
||||
}
|
||||
],
|
||||
"updated_at": "2025-05-01T18:00:55.899540+02:00",
|
||||
"updated_at": "2025-06-06T23:47:20.985766+02:00",
|
||||
"waiting_time": 0,
|
||||
"working_time": 0
|
||||
}
|
|
@ -49,7 +49,7 @@
|
|||
"name": "GPN",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.390461+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.362265+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2025-05-01T17:04:38.215340+02:00",
|
||||
|
@ -60,7 +60,7 @@
|
|||
"name": "gpn23",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.397181+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.365514+02:00"
|
||||
}
|
||||
],
|
||||
"last_cooked": null,
|
||||
|
|
|
@ -79,7 +79,7 @@
|
|||
"name": "Aufstrich",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-02T20:56:03.183760+02:00"
|
||||
"updated_at": "2025-06-06T23:47:20.994220+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2024-08-11T22:29:36.599408+02:00",
|
||||
|
@ -90,7 +90,7 @@
|
|||
"name": "Fr\u00fchst\u00fcck",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.382950+02:00"
|
||||
"updated_at": "2025-06-06T23:47:20.997171+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2024-08-12T00:12:55.162950+02:00",
|
||||
|
@ -101,7 +101,7 @@
|
|||
"name": "GPN",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.390461+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.362265+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2025-05-01T17:04:38.166539+02:00",
|
||||
|
@ -123,7 +123,7 @@
|
|||
"name": "gpn23",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.397181+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.365514+02:00"
|
||||
}
|
||||
],
|
||||
"last_cooked": null,
|
||||
|
|
|
@ -59,7 +59,7 @@
|
|||
"name": "Aufstrich",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-02T20:56:03.183760+02:00"
|
||||
"updated_at": "2025-06-06T23:47:20.994220+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2024-08-11T22:29:36.599408+02:00",
|
||||
|
@ -70,7 +70,7 @@
|
|||
"name": "Fr\u00fchst\u00fcck",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.382950+02:00"
|
||||
"updated_at": "2025-06-06T23:47:20.997171+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2024-08-12T00:12:55.162950+02:00",
|
||||
|
@ -81,7 +81,7 @@
|
|||
"name": "GPN",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.390461+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.362265+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2025-05-01T17:04:38.215340+02:00",
|
||||
|
@ -92,7 +92,7 @@
|
|||
"name": "gpn23",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.397181+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.365514+02:00"
|
||||
}
|
||||
],
|
||||
"last_cooked": null,
|
||||
|
|
|
@ -69,7 +69,7 @@
|
|||
"name": "Aufstrich",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-02T20:56:03.183760+02:00"
|
||||
"updated_at": "2025-06-06T23:47:20.994220+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2024-08-12T00:12:55.162950+02:00",
|
||||
|
@ -80,7 +80,7 @@
|
|||
"name": "GPN",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.390461+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.362265+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2025-05-01T17:04:38.215340+02:00",
|
||||
|
@ -91,7 +91,7 @@
|
|||
"name": "gpn23",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.397181+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.365514+02:00"
|
||||
}
|
||||
],
|
||||
"last_cooked": null,
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
"name": "GPN",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.390461+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.362265+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2025-05-01T17:04:38.215340+02:00",
|
||||
|
@ -50,7 +50,7 @@
|
|||
"name": "gpn23",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.397181+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.365514+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2025-05-06T20:28:52.453996+02:00",
|
||||
|
|
|
@ -89,7 +89,7 @@
|
|||
"name": "Aufstrich",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-02T20:56:03.183760+02:00"
|
||||
"updated_at": "2025-06-06T23:47:20.994220+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2024-08-11T22:29:36.599408+02:00",
|
||||
|
@ -100,7 +100,7 @@
|
|||
"name": "Fr\u00fchst\u00fcck",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.382950+02:00"
|
||||
"updated_at": "2025-06-06T23:47:20.997171+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2024-08-12T00:12:55.162950+02:00",
|
||||
|
@ -111,7 +111,7 @@
|
|||
"name": "GPN",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.390461+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.362265+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2025-05-01T17:04:38.215340+02:00",
|
||||
|
@ -122,7 +122,7 @@
|
|||
"name": "gpn23",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.397181+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.365514+02:00"
|
||||
}
|
||||
],
|
||||
"last_cooked": null,
|
||||
|
|
|
@ -84,7 +84,7 @@
|
|||
"name": "GPN",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.390461+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.362265+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2025-05-01T17:04:38.215340+02:00",
|
||||
|
@ -95,7 +95,7 @@
|
|||
"name": "gpn23",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.397181+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.365514+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2024-08-12T00:11:38.608095+02:00",
|
||||
|
|
|
@ -70,7 +70,7 @@
|
|||
"name": "gpn23",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.397181+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.365514+02:00"
|
||||
}
|
||||
],
|
||||
"last_cooked": null,
|
||||
|
|
|
@ -59,7 +59,7 @@
|
|||
"name": "GPN",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.390461+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.362265+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2025-05-01T17:04:38.215340+02:00",
|
||||
|
@ -70,7 +70,7 @@
|
|||
"name": "gpn23",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.397181+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.365514+02:00"
|
||||
}
|
||||
],
|
||||
"last_cooked": null,
|
||||
|
|
|
@ -59,7 +59,7 @@
|
|||
"name": "Aufstrich",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-02T20:56:03.183760+02:00"
|
||||
"updated_at": "2025-06-06T23:47:20.994220+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2024-08-12T00:12:55.162950+02:00",
|
||||
|
@ -70,7 +70,7 @@
|
|||
"name": "GPN",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.390461+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.362265+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2025-05-01T17:04:38.215340+02:00",
|
||||
|
@ -81,7 +81,7 @@
|
|||
"name": "gpn23",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.397181+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.365514+02:00"
|
||||
}
|
||||
],
|
||||
"last_cooked": null,
|
||||
|
@ -170,7 +170,7 @@
|
|||
{
|
||||
"amount": 2.0,
|
||||
"food": "Knoblauch",
|
||||
"unit": "Zehe/n"
|
||||
"unit": "Zehe"
|
||||
}
|
||||
],
|
||||
"food": {
|
||||
|
@ -209,12 +209,12 @@
|
|||
"order": 1,
|
||||
"original_text": "2 Zehe/n Knoblauch",
|
||||
"unit": {
|
||||
"base_unit": null,
|
||||
"description": null,
|
||||
"id": 53,
|
||||
"name": "Zehe/n",
|
||||
"base_unit": "",
|
||||
"description": "",
|
||||
"id": 46,
|
||||
"name": "Zehe",
|
||||
"open_data_slug": null,
|
||||
"plural_name": "Zehe/n"
|
||||
"plural_name": "Zehen"
|
||||
},
|
||||
"used_in_recipes": [
|
||||
{
|
||||
|
@ -511,7 +511,7 @@
|
|||
"time": 0
|
||||
}
|
||||
],
|
||||
"updated_at": "2025-06-02T20:15:47.276184+02:00",
|
||||
"updated_at": "2025-06-06T22:43:33.690130+02:00",
|
||||
"waiting_time": 0,
|
||||
"working_time": 0
|
||||
}
|
|
@ -124,7 +124,7 @@
|
|||
"name": "GPN",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.390461+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.362265+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2025-05-01T17:04:38.215340+02:00",
|
||||
|
@ -135,7 +135,7 @@
|
|||
"name": "gpn23",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.397181+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.365514+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2024-08-12T00:11:38.608095+02:00",
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
"name": "GPN",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.390461+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.362265+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2025-05-01T17:04:38.215340+02:00",
|
||||
|
@ -65,11 +65,11 @@
|
|||
"name": "gpn23",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.397181+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.365514+02:00"
|
||||
}
|
||||
],
|
||||
"last_cooked": null,
|
||||
"name": "vegane Aioli",
|
||||
"name": "Vegane Aioli",
|
||||
"nutrition": null,
|
||||
"private": false,
|
||||
"properties": [],
|
||||
|
@ -142,7 +142,7 @@
|
|||
"used_in_recipes": [
|
||||
{
|
||||
"id": 65,
|
||||
"name": "vegane Aioli"
|
||||
"name": "Vegane Aioli"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -204,7 +204,7 @@
|
|||
"used_in_recipes": [
|
||||
{
|
||||
"id": 65,
|
||||
"name": "vegane Aioli"
|
||||
"name": "Vegane Aioli"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -277,7 +277,7 @@
|
|||
"used_in_recipes": [
|
||||
{
|
||||
"id": 65,
|
||||
"name": "vegane Aioli"
|
||||
"name": "Vegane Aioli"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -350,7 +350,7 @@
|
|||
"used_in_recipes": [
|
||||
{
|
||||
"id": 65,
|
||||
"name": "vegane Aioli"
|
||||
"name": "Vegane Aioli"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -423,7 +423,7 @@
|
|||
"used_in_recipes": [
|
||||
{
|
||||
"id": 65,
|
||||
"name": "vegane Aioli"
|
||||
"name": "Vegane Aioli"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -439,7 +439,7 @@
|
|||
"time": 0
|
||||
}
|
||||
],
|
||||
"updated_at": "2025-05-26T21:20:01.181218+02:00",
|
||||
"updated_at": "2025-06-06T23:49:52.356221+02:00",
|
||||
"waiting_time": 0,
|
||||
"working_time": 0
|
||||
}
|
|
@ -64,7 +64,7 @@
|
|||
"name": "GPN",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.390461+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.362265+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2025-05-01T17:04:38.215340+02:00",
|
||||
|
@ -75,7 +75,7 @@
|
|||
"name": "gpn23",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.397181+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.365514+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2025-05-06T20:28:52.453996+02:00",
|
||||
|
|
|
@ -79,7 +79,7 @@
|
|||
"name": "GPN",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.390461+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.362265+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2025-05-01T17:04:38.215340+02:00",
|
||||
|
@ -90,7 +90,7 @@
|
|||
"name": "gpn23",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.397181+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.365514+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2025-05-06T20:28:52.453996+02:00",
|
||||
|
|
|
@ -74,7 +74,7 @@
|
|||
"name": "GPN",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.390461+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.362265+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2025-05-01T17:04:38.215340+02:00",
|
||||
|
@ -85,7 +85,7 @@
|
|||
"name": "gpn23",
|
||||
"numchild": 0,
|
||||
"parent": null,
|
||||
"updated_at": "2025-06-06T16:01:22.397181+02:00"
|
||||
"updated_at": "2025-06-06T23:49:52.365514+02:00"
|
||||
},
|
||||
{
|
||||
"created_at": "2025-05-06T20:28:52.453996+02:00",
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
- 17 g Salz
|
||||
- 9 g Malzsyrup
|
||||
- 340 ml Wasser
|
||||
- 4 | Wasser
|
||||
- 4 l Wasser
|
||||
- 40 g Malzsyrup
|
||||
|
||||
## Zubereitung
|
||||
|
@ -40,7 +40,7 @@
|
|||
7. Stückgare
|
||||
<p>Lasse die Bagel für 30 Minuten ruhen.</p>
|
||||
8. Cook
|
||||
- 4 | Wasser
|
||||
- 4 l Wasser
|
||||
- 40 g Malzsyrup
|
||||
<p>Bagels in kochendem Malzsyrupwasser für 60 Sekunden kochen. Dann in Sesam wenden.</p>
|
||||
9. Bake
|
||||
|
|
|
@ -20,7 +20,7 @@ Grundrezept sind 785 g Gesamt = ca. 40 Portionen (mit ~20g pro)
|
|||
1. Einweichen
|
||||
- 400 g Cashewkerne
|
||||
<p>Cashewkerne über Nacht in Wasser einweichen</p>
|
||||
2. <span></span>
|
||||
2. Pürieren
|
||||
- 100 g Paniermehl
|
||||
- 500 g Paprika (frisch)
|
||||
- 15 g Salz
|
||||
|
@ -30,4 +30,4 @@ Grundrezept sind 785 g Gesamt = ca. 40 Portionen (mit ~20g pro)
|
|||
- 30 g Granatapfelsirup
|
||||
- 36 g Knoblauch (frisch)
|
||||
- 10 g Harissa
|
||||
|
||||
<p>Dann alles mit den restlichen Zutaten durchpürieren 🌪️.</p>
|
||||
|
|
|
@ -6,7 +6,7 @@ importiert aber abgeändert
|
|||
|
||||
## Zutaten (gesamt)
|
||||
- 250 g Margarine
|
||||
- 2 Zehe/n Knoblauch
|
||||
- 2 Zehe Knoblauch
|
||||
- 50 g Kräuter gemischt (8-Kräuter)
|
||||
- Salz
|
||||
- Pfeffer (schwarz)
|
||||
|
@ -15,7 +15,7 @@ importiert aber abgeändert
|
|||
## Zubereitung
|
||||
1. <span></span>
|
||||
- 250 g Margarine
|
||||
- 2 Zehe/n Knoblauch
|
||||
- 2 Zehe Knoblauch
|
||||
- 50 g Kräuter gemischt (8-Kräuter)
|
||||
- Salz
|
||||
- Pfeffer (schwarz)
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
* 17 g Salz
|
||||
* 9 g Malzsyrup
|
||||
* 340 ml Wasser
|
||||
* 4 | Wasser
|
||||
* 4 l Wasser
|
||||
* 40 g Malzsyrup
|
||||
|
||||
<span id="zubereitung"></span>
|
||||
|
@ -66,7 +66,7 @@ Lasse die Bagel für 30 Minuten ruhen.
|
|||
<li>Cook</li></ol>
|
||||
|
||||
<ul>
|
||||
<li>4 | Wasser</li>
|
||||
<li>4 l Wasser</li>
|
||||
<li>40 g Malzsyrup
|
||||
<p>
|
||||
Bagels in kochendem Malzsyrupwasser für 60 Sekunden kochen. Dann in Sesam wenden.
|
||||
|
|
|
@ -28,14 +28,18 @@ Cashewkerne über Nacht in Wasser einweichen
|
|||
</p></li></ul>
|
||||
|
||||
<ol start="2" style="list-style-type: decimal;">
|
||||
<li><span></span></li></ol>
|
||||
<li>Pürieren</li></ol>
|
||||
|
||||
* 100 g Paniermehl
|
||||
* 500 g Paprika (frisch)
|
||||
* 15 g Salz
|
||||
* 2 g Pfeffer (schwarz)
|
||||
* 17 g Tomatenmark
|
||||
* 4 g Paprikapulver
|
||||
* 30 g Granatapfelsirup
|
||||
* 36 g Knoblauch (frisch)
|
||||
* 10 g Harissa
|
||||
<ul>
|
||||
<li>100 g Paniermehl</li>
|
||||
<li>500 g Paprika (frisch)</li>
|
||||
<li>15 g Salz</li>
|
||||
<li>2 g Pfeffer (schwarz)</li>
|
||||
<li>17 g Tomatenmark</li>
|
||||
<li>4 g Paprikapulver</li>
|
||||
<li>30 g Granatapfelsirup</li>
|
||||
<li>36 g Knoblauch (frisch)</li>
|
||||
<li>10 g Harissa
|
||||
<p>
|
||||
Dann alles mit den restlichen Zutaten durchpürieren 🌪️.
|
||||
</p></li></ul>
|
||||
|
|
|
@ -6,7 +6,7 @@ importiert aber abgeändert
|
|||
== Zutaten (gesamt) ==
|
||||
|
||||
* 250 g Margarine
|
||||
* 2 Zehe/n Knoblauch
|
||||
* 2 Zehe Knoblauch
|
||||
* 50 g Kräuter gemischt (8-Kräuter)
|
||||
* Salz
|
||||
* Pfeffer (schwarz)
|
||||
|
@ -19,7 +19,7 @@ importiert aber abgeändert
|
|||
|
||||
<ul>
|
||||
<li>250 g Margarine</li>
|
||||
<li>2 Zehe/n Knoblauch</li>
|
||||
<li>2 Zehe Knoblauch</li>
|
||||
<li>50 g Kräuter gemischt (8-Kräuter)</li>
|
||||
<li>Salz</li>
|
||||
<li>Pfeffer (schwarz)</li>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue