Skip to content
Snippets Groups Projects
Commit 98c92aa9 authored by Hock, Benedikt's avatar Hock, Benedikt
Browse files

Add function for printing a component tree

parent f1ec1b14
No related branches found
No related tags found
No related merge requests found
......@@ -63,3 +63,23 @@ class LegoComponent:
return f"Lego Component [{self.id}]"
# TODO: Adjust default output when printing an item or component
def print_component_tree(root, level=0, is_last=False):
# print component
component_padding = ""
if level > 0:
component_padding += "" * (level - 1)
if is_last:
component_padding += "└── "
else:
component_padding += "├── "
print(f"{component_padding}{root}")
# recursively print child components
for i, component in enumerate(root.components):
is_last_ = i == len(root.components) - 1 and len(root.items) == 0
print_component_tree(component, level + 1, is_last_)
# print items
for i, item in enumerate(root.items):
item_padding = "" * level
item_padding += "├── " if i < len(root.items) - 1 else "└── "
print(f"{item_padding}{item}")
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment