diff --git a/seminar/treelib.py b/seminar/treelib.py index 03613d05..95fae9a9 100644 --- a/seminar/treelib.py +++ b/seminar/treelib.py @@ -13,13 +13,6 @@ def print_tree(node,indent=0): if node.succ: print_tree(node.succ, indent=indent) -def is_orphan(node): - """ Zjišťuje, jestli už je daný Node někde pověšený či nikoli. """ - if safe_father_of_first(node) is None and safe_pred(node) is None: - return True - else: - return False - # Django je trošku hloupé, takže node.prev nevrací None, ale hází django.core.exceptions.ObjectDoesNotExist def safe_pred(node): try: @@ -63,6 +56,21 @@ def get_last_child(node): else: return last_brother(first) +def is_orphan(node): + """ Zjišťuje, jestli už je daný Node někde pověšený či nikoli. """ + # None jsem se rozhodl, že sirotek není + if node is None: + return False + if get_parent(node) is None: + if node.succ is not None or safe_pred(node) is not None or safe_father_of_first(node) is not None or node.root is not None: + import logging + logger = logging.getLogger(__name__) + # Error = pošle mail :-) + logger.error(f"Node-sirotek s id {node.id} má rodinné vztahy (Node: {node})") + return True + else: + return False + # Obecný next: další Node v "the-right-order" pořadí (já, pak potomci, pak sousedé) def general_next(node): # Máme potomka?