From dd9f0f80d3c4bc46447bff952e6f6869e255a910 Mon Sep 17 00:00:00 2001 From: gamerdonkey Date: Wed, 10 Sep 2025 03:55:53 +0000 Subject: [PATCH] Updating make tree so you can add ingredients later in the process. --- make_tree.py | 40 ++++++++++++++++------------------------ 1 file changed, 16 insertions(+), 24 deletions(-) diff --git a/make_tree.py b/make_tree.py index a10eea2..95335c2 100644 --- a/make_tree.py +++ b/make_tree.py @@ -8,38 +8,30 @@ def print_ingredients(): ingredients = {} - -ingredient = "start" i = 0 -while ingredient: +node = "start" +while node: print_ingredients() - ingredient = input("Add ingredient: ") + node = input("Add node: ") - if ingredient: - ingredients[i] = Node(ingredient, result=ingredient) - i += 1 - -task = "start" -while task: - print_ingredients() - - task = input("Add task: ") - - if task: + if node: needs = input("List needs (comma-separated): ") description = input("Detailed description: ") - result = input("Result of task (e.g. chopped carrots): ") - - new_task = Node(task, description=description, result=result) - ingredients[i] = new_task + if needs: + result = input("Result of node (e.g. chopped carrots): ") + new_node = Node(node, description=description, result=result) + + for e in [int(key.strip()) for key in needs.split(",")]: + ingredients.pop(e).parent = new_node + else: + new_node = Node(node, description=description, result=node) + + ingredients[i] = new_node i += 1 - for e in [int(key.strip()) for key in needs.split(",")]: - ingredients.pop(e).parent = new_task - -for pre, _, node in RenderTree(new_task): +for pre, _, node in RenderTree(new_node): print(f"{pre}{node.name}") name = input("Recipe name: ") @@ -48,5 +40,5 @@ if name: name = name.replace(" ", "_") with open(f"{name}.json", 'w') as f: - JsonExporter(indent=2).write(new_task, f) + JsonExporter(indent=2).write(new_node, f)