From b6f2b94a0135b3487b0da258a601ff8f668f60b7 Mon Sep 17 00:00:00 2001 From: Pavel 'LEdoian' Turinsky Date: Thu, 11 Jun 2020 22:13:26 +0000 Subject: [PATCH] =?UTF-8?q?Opraven=C3=AD=20cyklick=C3=BDch=20import=C5=AF?= =?UTF-8?q?=20(pls=20don't=20kill=20me)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- seminar/models.py | 2 +- seminar/treelib.py | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/seminar/models.py b/seminar/models.py index c045b658..8a4090fa 100644 --- a/seminar/models.py +++ b/seminar/models.py @@ -28,7 +28,6 @@ from reversion import revisions as reversion from seminar.utils import roman, FirstTagParser # Pro získání úryvku z TextNode from unidecode import unidecode # Používám pro získání ID odkazu (ještě je to někde po někom zakomentované) -from seminar.treelib import safe_pred from polymorphic.models import PolymorphicModel @@ -1342,6 +1341,7 @@ class MezicisloNode(TreeNode): # TODO: Využít TreeLib def aktualizuj_nazev(self): + from seminar.treelib import safe_pred if safe_pred(self) is not None: if (self.prev.get_real_instance_class() != CisloNode and self.prev.get_real_instance_class() != MezicisloNode): diff --git a/seminar/treelib.py b/seminar/treelib.py index 8784c2d9..2fb53c8e 100644 --- a/seminar/treelib.py +++ b/seminar/treelib.py @@ -1,6 +1,5 @@ from django.core.exceptions import ObjectDoesNotExist from django.db import transaction -from seminar.models import TreeNode # NOTE: node.prev a node.succ jsou implementovány přímo v models.TreeNode # TODO: Všechny tyto funkce se naivně spoléhají na to, že jako parametr dostanou nějaký TreeNode (některé možná zvládnou i None) # TODO: Chceme, aby všechno nějak zvládlo None jako parametr. @@ -227,6 +226,7 @@ class TreeLibError(RuntimeError): # Editace stromu: def create_node_after(predecessor, type, **kwargs): + from seminar.models import TreeNode if predecessor is None: raise TreeLibError("Nelze vyrábět sirotky! (predecessor=None)") if not isinstance(type, TreeNode): @@ -243,6 +243,7 @@ def create_node_after(predecessor, type, **kwargs): # Vyrábí prvního syna, ostatní nalepí za (existují-li) def create_child(parent, type, **kwargs): + from seminar.models import TreeNode if parent is None: raise TreeLibError("Nelze vyrábět sirotky! (parent=None)") if not isinstance(type, TreeNode): @@ -280,6 +281,7 @@ def insert_last_child(parent, node): last.save() def create_node_before(successor, type, **kwargs): + from seminar.models import TreeNode if successor is None: raise TreeLibError("Nelze vyrábět sirotky! (successor=None)") if not isinstance(type, TreeNode):