actually clean json again

This commit is contained in:
neingeist 2025-06-12 22:48:40 +02:00
parent 24fc3ed646
commit 0295a113c7
25 changed files with 99 additions and 208 deletions

View file

@ -5,53 +5,15 @@ import os
from config import *
def normalize_ingredients(recipe):
if "recipeIngredient" in recipe:
recipe["recipeIngredient"] = [
ingredient.replace("g / Gramm", "g")
for ingredient in recipe["recipeIngredient"]
]
recipe["recipeIngredient"] = [
ingredient.replace("kg / Kilogramm", "kg")
for ingredient in recipe["recipeIngredient"]
]
recipe["recipeIngredient"] = [
ingredient.replace(".0 ", " ") for ingredient in recipe["recipeIngredient"]
]
recipe["recipeIngredient"] = [
re.sub("^0 (g|kg|Milliliter|None) ", "", ingredient)
for ingredient in recipe["recipeIngredient"]
]
recipe["recipeIngredient"] = [
ingredient
for ingredient in recipe["recipeIngredient"]
if ingredient != "None"
]
def clean_recipe(recipe):
# remove useless ever-changing fields
for keyword in recipe["keywords"]:
if "updated_at" in keyword:
del keyword["updated_at"]
return recipe
def normalize_instructions(recipe):
if "recipeInstructions" in recipe:
recipe["recipeInstructions"] = [
instruction
for instruction in recipe["recipeInstructions"]
if instruction.get("text")
]
if not recipe["recipeInstructions"]:
del recipe["recipeInstructions"]
return recipe
def normalize_recipe(recipe):
cleaned_recipe = recipe
cleaned_recipe = normalize_ingredients(cleaned_recipe)
cleaned_recipe = normalize_instructions(cleaned_recipe)
return cleaned_recipe
# TODO: functions oben sind so nicht mehr funktional
def check_recipe(recipe) -> list:
md = []
if "steps" in recipe:
@ -99,6 +61,17 @@ def make_link(recipe):
def main():
# Clean
for json_file in os.listdir(OUTDIR_JSON):
with open(os.path.join(OUTDIR_JSON, json_file), "r", encoding="utf-8") as f:
recipe = json.load(f)
recipe = clean_recipe(recipe)
with open(os.path.join(OUTDIR_JSON, json_file), "w", encoding="utf-8") as f:
json.dump(recipe, f, sort_keys=True, indent=2)
# Read all and check
recipes = []
for json_file in os.listdir(OUTDIR_JSON):
with open(os.path.join(OUTDIR_JSON, json_file), "r", encoding="utf-8") as f:

View file

@ -53,8 +53,7 @@
"label": "Fr\u00fchst\u00fcck",
"name": "Fr\u00fchst\u00fcck",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.188105+02:00"
"parent": null
},
{
"created_at": "2024-08-12T00:12:55.162950+02:00",
@ -64,8 +63,7 @@
"label": "GPN",
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.190990+02:00"
"parent": null
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -75,8 +73,7 @@
"label": "gpn23",
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.194071+02:00"
"parent": null
}
],
"last_cooked": null,

View file

@ -63,8 +63,7 @@
"label": "Aufstrich",
"name": "Aufstrich",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.184795+02:00"
"parent": null
},
{
"created_at": "2024-08-11T22:29:36.599408+02:00",
@ -74,8 +73,7 @@
"label": "Fr\u00fchst\u00fcck",
"name": "Fr\u00fchst\u00fcck",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.188105+02:00"
"parent": null
},
{
"created_at": "2024-08-12T00:12:55.162950+02:00",
@ -85,8 +83,7 @@
"label": "GPN",
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.190990+02:00"
"parent": null
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -96,8 +93,7 @@
"label": "gpn23",
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.194071+02:00"
"parent": null
}
],
"last_cooked": null,

View file

@ -149,8 +149,7 @@
"label": "Aufstrich",
"name": "Aufstrich",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-12T13:27:38.182943+02:00"
"parent": null
},
{
"created_at": "2024-08-12T00:12:55.162950+02:00",
@ -160,8 +159,7 @@
"label": "GPN",
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-12T13:42:21.389001+02:00"
"parent": null
},
{
"created_at": "2025-05-01T17:04:38.072417+02:00",
@ -171,8 +169,7 @@
"label": "gpn18",
"name": "gpn18",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-12T13:27:38.189669+02:00"
"parent": null
},
{
"created_at": "2025-05-01T17:04:38.120607+02:00",
@ -182,8 +179,7 @@
"label": "gpn19",
"name": "gpn19",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-12T13:27:38.192959+02:00"
"parent": null
},
{
"created_at": "2025-05-01T17:04:38.166539+02:00",
@ -193,8 +189,7 @@
"label": "gpn22",
"name": "gpn22",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-12T13:27:38.196222+02:00"
"parent": null
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -204,8 +199,7 @@
"label": "gpn23",
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-12T22:08:02.240728+02:00"
"parent": null
}
],
"last_cooked": null,

View file

@ -169,8 +169,7 @@
"label": "GPN",
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-12T13:42:21.389001+02:00"
"parent": null
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -180,8 +179,7 @@
"label": "gpn23",
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-12T22:08:02.240728+02:00"
"parent": null
},
{
"created_at": "2024-08-12T00:11:38.608095+02:00",
@ -191,8 +189,7 @@
"label": "Hauptgericht",
"name": "Hauptgericht",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-12T13:06:10.486092+02:00"
"parent": null
}
],
"last_cooked": null,

View file

@ -109,8 +109,7 @@
"label": "Aufstrich",
"name": "Aufstrich",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-12T22:22:33.888463+02:00"
"parent": null
},
{
"created_at": "2024-08-11T22:29:36.599408+02:00",
@ -120,8 +119,7 @@
"label": "Fr\u00fchst\u00fcck",
"name": "Fr\u00fchst\u00fcck",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-12T22:22:33.891132+02:00"
"parent": null
},
{
"created_at": "2024-08-12T00:12:55.162950+02:00",
@ -131,8 +129,7 @@
"label": "GPN",
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-12T22:22:33.894018+02:00"
"parent": null
},
{
"created_at": "2025-05-01T17:04:38.072417+02:00",
@ -142,8 +139,7 @@
"label": "gpn18",
"name": "gpn18",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-12T22:22:33.897064+02:00"
"parent": null
},
{
"created_at": "2025-05-01T17:04:38.120607+02:00",
@ -153,8 +149,7 @@
"label": "gpn19",
"name": "gpn19",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-12T22:22:33.900110+02:00"
"parent": null
},
{
"created_at": "2025-05-01T17:04:38.166539+02:00",
@ -164,8 +159,7 @@
"label": "gpn22",
"name": "gpn22",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-12T22:22:33.902791+02:00"
"parent": null
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -175,8 +169,7 @@
"label": "gpn23",
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-12T22:22:33.905291+02:00"
"parent": null
}
],
"last_cooked": null,

View file

@ -78,8 +78,7 @@
"label": "Aufstrich",
"name": "Aufstrich",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.184795+02:00"
"parent": null
},
{
"created_at": "2024-08-11T22:29:36.599408+02:00",
@ -89,8 +88,7 @@
"label": "Fr\u00fchst\u00fcck",
"name": "Fr\u00fchst\u00fcck",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.188105+02:00"
"parent": null
},
{
"created_at": "2024-08-12T00:12:55.162950+02:00",
@ -100,8 +98,7 @@
"label": "GPN",
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.190990+02:00"
"parent": null
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -111,8 +108,7 @@
"label": "gpn23",
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.194071+02:00"
"parent": null
}
],
"last_cooked": null,

View file

@ -53,8 +53,7 @@
"label": "Fr\u00fchst\u00fcck",
"name": "Fr\u00fchst\u00fcck",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.188105+02:00"
"parent": null
},
{
"created_at": "2024-08-12T00:12:55.162950+02:00",
@ -64,8 +63,7 @@
"label": "GPN",
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.190990+02:00"
"parent": null
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -75,8 +73,7 @@
"label": "gpn23",
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.194071+02:00"
"parent": null
}
],
"last_cooked": null,

View file

@ -118,8 +118,7 @@
"label": "GPN",
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.190990+02:00"
"parent": null
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -129,8 +128,7 @@
"label": "gpn23",
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.194071+02:00"
"parent": null
},
{
"created_at": "2024-08-12T00:11:38.608095+02:00",
@ -140,8 +138,7 @@
"label": "Hauptgericht",
"name": "Hauptgericht",
"numchild": 0,
"parent": null,
"updated_at": "2025-05-26T21:37:36.963518+02:00"
"parent": null
}
],
"last_cooked": null,

View file

@ -73,8 +73,7 @@
"label": "Aufstrich",
"name": "Aufstrich",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.184795+02:00"
"parent": null
},
{
"created_at": "2024-08-11T22:29:36.599408+02:00",
@ -84,8 +83,7 @@
"label": "Fr\u00fchst\u00fcck",
"name": "Fr\u00fchst\u00fcck",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.188105+02:00"
"parent": null
},
{
"created_at": "2024-08-12T00:12:55.162950+02:00",
@ -95,8 +93,7 @@
"label": "GPN",
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.190990+02:00"
"parent": null
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -106,8 +103,7 @@
"label": "gpn23",
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.194071+02:00"
"parent": null
}
],
"last_cooked": null,

View file

@ -79,8 +79,7 @@
"label": "GPN",
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-12T13:42:21.389001+02:00"
"parent": null
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -90,8 +89,7 @@
"label": "gpn23",
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-12T22:08:02.240728+02:00"
"parent": null
}
],
"last_cooked": null,

View file

@ -78,8 +78,7 @@
"label": "Aufstrich",
"name": "Aufstrich",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.184795+02:00"
"parent": null
},
{
"created_at": "2024-08-11T22:29:36.599408+02:00",
@ -89,8 +88,7 @@
"label": "Fr\u00fchst\u00fcck",
"name": "Fr\u00fchst\u00fcck",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.188105+02:00"
"parent": null
},
{
"created_at": "2024-08-12T00:12:55.162950+02:00",
@ -100,8 +98,7 @@
"label": "GPN",
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.190990+02:00"
"parent": null
},
{
"created_at": "2025-05-01T17:04:38.166539+02:00",
@ -111,8 +108,7 @@
"label": "gpn22",
"name": "gpn22",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-02T20:56:03.199614+02:00"
"parent": null
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -122,8 +118,7 @@
"label": "gpn23",
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.194071+02:00"
"parent": null
}
],
"last_cooked": null,

View file

@ -58,8 +58,7 @@
"label": "Aufstrich",
"name": "Aufstrich",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.184795+02:00"
"parent": null
},
{
"created_at": "2024-08-11T22:29:36.599408+02:00",
@ -69,8 +68,7 @@
"label": "Fr\u00fchst\u00fcck",
"name": "Fr\u00fchst\u00fcck",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.188105+02:00"
"parent": null
},
{
"created_at": "2024-08-12T00:12:55.162950+02:00",
@ -80,8 +78,7 @@
"label": "GPN",
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.190990+02:00"
"parent": null
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -91,8 +88,7 @@
"label": "gpn23",
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.194071+02:00"
"parent": null
}
],
"last_cooked": null,

View file

@ -68,8 +68,7 @@
"label": "Aufstrich",
"name": "Aufstrich",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.184795+02:00"
"parent": null
},
{
"created_at": "2024-08-12T00:12:55.162950+02:00",
@ -79,8 +78,7 @@
"label": "GPN",
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.190990+02:00"
"parent": null
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -90,8 +88,7 @@
"label": "gpn23",
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.194071+02:00"
"parent": null
}
],
"last_cooked": null,

View file

@ -38,8 +38,7 @@
"label": "GPN",
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.190990+02:00"
"parent": null
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -49,8 +48,7 @@
"label": "gpn23",
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.194071+02:00"
"parent": null
},
{
"created_at": "2025-05-06T20:28:52.453996+02:00",
@ -60,8 +58,7 @@
"label": "Ofengericht",
"name": "Ofengericht",
"numchild": 0,
"parent": null,
"updated_at": "2025-05-26T21:35:40.606702+02:00"
"parent": null
}
],
"last_cooked": null,

View file

@ -88,8 +88,7 @@
"label": "Aufstrich",
"name": "Aufstrich",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.184795+02:00"
"parent": null
},
{
"created_at": "2024-08-11T22:29:36.599408+02:00",
@ -99,8 +98,7 @@
"label": "Fr\u00fchst\u00fcck",
"name": "Fr\u00fchst\u00fcck",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.188105+02:00"
"parent": null
},
{
"created_at": "2024-08-12T00:12:55.162950+02:00",
@ -110,8 +108,7 @@
"label": "GPN",
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.190990+02:00"
"parent": null
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -121,8 +118,7 @@
"label": "gpn23",
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.194071+02:00"
"parent": null
}
],
"last_cooked": null,

View file

@ -83,8 +83,7 @@
"label": "GPN",
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.190990+02:00"
"parent": null
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -94,8 +93,7 @@
"label": "gpn23",
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.194071+02:00"
"parent": null
},
{
"created_at": "2024-08-12T00:11:38.608095+02:00",
@ -105,8 +103,7 @@
"label": "Hauptgericht",
"name": "Hauptgericht",
"numchild": 0,
"parent": null,
"updated_at": "2025-05-26T21:37:36.963518+02:00"
"parent": null
}
],
"last_cooked": null,

View file

@ -99,8 +99,7 @@
"label": "Dressing",
"name": "Dressing",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-12T22:08:02.237455+02:00"
"parent": null
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -110,8 +109,7 @@
"label": "gpn23",
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-12T22:08:02.240728+02:00"
"parent": null
}
],
"last_cooked": null,

View file

@ -58,8 +58,7 @@
"label": "GPN",
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.190990+02:00"
"parent": null
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -69,8 +68,7 @@
"label": "gpn23",
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.194071+02:00"
"parent": null
}
],
"last_cooked": null,

View file

@ -58,8 +58,7 @@
"label": "Aufstrich",
"name": "Aufstrich",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.184795+02:00"
"parent": null
},
{
"created_at": "2024-08-12T00:12:55.162950+02:00",
@ -69,8 +68,7 @@
"label": "GPN",
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.190990+02:00"
"parent": null
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -80,8 +78,7 @@
"label": "gpn23",
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.194071+02:00"
"parent": null
}
],
"last_cooked": null,

View file

@ -123,8 +123,7 @@
"label": "GPN",
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.190990+02:00"
"parent": null
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -134,8 +133,7 @@
"label": "gpn23",
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.194071+02:00"
"parent": null
},
{
"created_at": "2024-08-12T00:11:38.608095+02:00",
@ -145,8 +143,7 @@
"label": "Hauptgericht",
"name": "Hauptgericht",
"numchild": 0,
"parent": null,
"updated_at": "2025-05-26T21:37:36.963518+02:00"
"parent": null
}
],
"last_cooked": null,

View file

@ -89,8 +89,7 @@
"label": "GPN",
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-12T13:42:21.389001+02:00"
"parent": null
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -100,8 +99,7 @@
"label": "gpn23",
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-12T22:08:02.240728+02:00"
"parent": null
}
],
"last_cooked": null,

View file

@ -63,8 +63,7 @@
"label": "GPN",
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.190990+02:00"
"parent": null
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -74,8 +73,7 @@
"label": "gpn23",
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.194071+02:00"
"parent": null
},
{
"created_at": "2025-05-06T20:28:52.453996+02:00",
@ -85,8 +83,7 @@
"label": "Ofengericht",
"name": "Ofengericht",
"numchild": 0,
"parent": null,
"updated_at": "2025-05-26T21:35:40.606702+02:00"
"parent": null
}
],
"last_cooked": null,

View file

@ -78,8 +78,7 @@
"label": "GPN",
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.190990+02:00"
"parent": null
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -89,8 +88,7 @@
"label": "gpn23",
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.194071+02:00"
"parent": null
},
{
"created_at": "2025-05-06T20:28:52.453996+02:00",
@ -100,8 +98,7 @@
"label": "Ofengericht",
"name": "Ofengericht",
"numchild": 0,
"parent": null,
"updated_at": "2025-05-26T21:35:40.606702+02:00"
"parent": null
}
],
"last_cooked": null,

View file

@ -73,8 +73,7 @@
"label": "GPN",
"name": "GPN",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.190990+02:00"
"parent": null
},
{
"created_at": "2025-05-01T17:04:38.215340+02:00",
@ -84,8 +83,7 @@
"label": "gpn23",
"name": "gpn23",
"numchild": 0,
"parent": null,
"updated_at": "2025-06-09T00:04:28.194071+02:00"
"parent": null
},
{
"created_at": "2025-05-06T20:28:52.453996+02:00",
@ -95,8 +93,7 @@
"label": "Ofengericht",
"name": "Ofengericht",
"numchild": 0,
"parent": null,
"updated_at": "2025-05-26T21:35:40.606702+02:00"
"parent": null
}
],
"last_cooked": null,