Treelib: create_node_before
This commit is contained in:
parent
db5f0fd0c5
commit
c1e107c89e
1 changed files with 14 additions and 3 deletions
|
@ -173,9 +173,20 @@ def create_child(parent, type, **kwargs):
|
||||||
new_node.succ = orig_child
|
new_node.succ = orig_child
|
||||||
new_node.save()
|
new_node.save()
|
||||||
|
|
||||||
def create_node_before(some, arguments, but, i, dont, know, which, yet):
|
def create_node_before(successor, type, **kwargs):
|
||||||
pass
|
if safe_pred(successor) is not None:
|
||||||
# Tohle bude hell.
|
# Easy: přidáme za předchůdce
|
||||||
|
create_node_after(successor.prev, type, **kwargs)
|
||||||
|
# Nemáme předchůdce, jsme tedy první z bratrů. Máme otce?
|
||||||
|
if safe_father_of_first(successor) is not None:
|
||||||
|
# Ano -> Easy: vyrobíme nového potomka
|
||||||
|
# NOTE: Tohle je možná trošku abuse implementace výše, ale to nevadí moc...
|
||||||
|
create_child(successor.father_of_first, type, **kwargs)
|
||||||
|
# Teď už easy: Jsme sirotci, takže se vyrobíme a našeho následníka si přidáme jako succ
|
||||||
|
new = type.objects.create(**kwargs)
|
||||||
|
new.succ = successor
|
||||||
|
new.save()
|
||||||
|
|
||||||
|
|
||||||
# ValueError, pokud je (aspoň) jeden parametr None
|
# ValueError, pokud je (aspoň) jeden parametr None
|
||||||
def swap(node, other):
|
def swap(node, other):
|
||||||
|
|
Loading…
Reference in a new issue