Remove zapomenutá třída
This commit is contained in:
		
							parent
							
								
									e42faa4ce8
								
							
						
					
					
						commit
						1012f9b3c5
					
				
					 1 changed files with 0 additions and 138 deletions
				
			
		|  | @ -68,144 +68,6 @@ class ObalkovaniView(generic.ListView): | ||||||
| 		context['cislo'] = self.cislo | 		context['cislo'] = self.cislo | ||||||
| 		return context | 		return context | ||||||
| 
 | 
 | ||||||
| class TNLData(object): |  | ||||||
| 	def __init__(self,anode,parent=None, index=None): |  | ||||||
| 		self.node = anode |  | ||||||
| 		self.sernode = vr.TreeNodeSerializer(anode) |  | ||||||
| 		self.children = [] |  | ||||||
| 		self.parent = parent |  | ||||||
| 		self.tema_in_path = False |  | ||||||
| 		self.index = index |  | ||||||
| 
 |  | ||||||
| 		if parent: |  | ||||||
| 			self.tema_in_path = parent.tema_in_path |  | ||||||
| 		if isinstance(anode, m.TemaVCisleNode): |  | ||||||
| 			self.tema_in_path = True |  | ||||||
| 
 |  | ||||||
| 	def add_edit_options(self): |  | ||||||
| 		self.deletable = tnltt.deletable(self) |  | ||||||
| 		self.editable_siblings = tnltt.editableSiblings(self) |  | ||||||
| 		self.editable_children = tnltt.editableChildren(self) |  | ||||||
| 		self.text_only_subtree = tnltt.textOnlySubtree(self) |  | ||||||
| 		self.can_podvesit_za = tnltt.canPodvesitZa(self) |  | ||||||
| 		self.can_podvesit_pred = tnltt.canPodvesitPred(self) |  | ||||||
| 		self.appendable_children = tnltt.appendableChildren(self) |  | ||||||
| 		print("appChld",self.appendable_children) |  | ||||||
| 		if self.parent: |  | ||||||
| 			self.appendable_siblings = tnltt.appendableChildren(self.parent) |  | ||||||
| 		else: |  | ||||||
| 			self.appendable_siblings = [] |  | ||||||
| 	@classmethod |  | ||||||
| 	def public_above(cls, anode): |  | ||||||
| 		""" Returns output of verejne for closest Rocnik, Cislo or Problem above. |  | ||||||
| 		(All of them have method verejne.)""" |  | ||||||
| 		parent = anode # chceme začít už od konkrétního node včetně |  | ||||||
| 		while True: |  | ||||||
| 			rocnik = isinstance(parent, s.RocnikNode) |  | ||||||
| 			cislo = isinstance(parent, s.CisloNode) |  | ||||||
| 			uloha = (isinstance(parent, s.UlohaVzorakNode) or |  | ||||||
| 				isinstance(parent, s.UlohaZadaniNode)) |  | ||||||
| 			tema = isinstance(parent, s.TemaVCisleNode) |  | ||||||
| 
 |  | ||||||
| 			if (rocnik or cislo or uloha or tema) or parent==None: |  | ||||||
| 				break |  | ||||||
| 			else: |  | ||||||
| 				parent = treelib.get_parent(parent) |  | ||||||
| 		if rocnik: |  | ||||||
| 			return parent.rocnik.verejne() |  | ||||||
| 		elif cislo: |  | ||||||
| 			return parent.cislo.verejne() |  | ||||||
| 		elif uloha: |  | ||||||
| 			return parent.uloha.verejne() |  | ||||||
| 		elif tema: |  | ||||||
| 			return parent.tema.verejne() |  | ||||||
| 		elif None: |  | ||||||
| 			print("Existuje TreeNode, který není pod číslem, ročníkem, úlohou" |  | ||||||
| 			"ani tématem. {}".format(anode)) |  | ||||||
| 			return False |  | ||||||
| 
 |  | ||||||
| 	@classmethod |  | ||||||
| 	def all_public_children(cls, anode): |  | ||||||
| 		for ch in treelib.all_children(anode): |  | ||||||
| 			if TNLData.public_above(ch): |  | ||||||
| 				yield ch |  | ||||||
| 			else: |  | ||||||
| 				continue |  | ||||||
| 
 |  | ||||||
| 	@classmethod |  | ||||||
| 	def from_treenode(cls, anode, user, parent=None, index=None): |  | ||||||
| 		if TNLData.public_above(anode) or user.has_perm('auth.org'): |  | ||||||
| 			out = cls(anode,parent,index) |  | ||||||
| 		else: |  | ||||||
| 			raise PermissionDenied() |  | ||||||
| 
 |  | ||||||
| 		if user.has_perm('auth.org'): |  | ||||||
| 			enum_children = enumerate(treelib.all_children(anode)) |  | ||||||
| 		else: |  | ||||||
| 			enum_children = enumerate(TNLData.all_public_children(anode)) |  | ||||||
| 
 |  | ||||||
| 		for (idx,ch) in enum_children: |  | ||||||
| 			outitem = cls.from_treenode(ch, user, out,  idx) |  | ||||||
| 			out.children.append(outitem) |  | ||||||
| 		out.add_edit_options() |  | ||||||
| 		return out |  | ||||||
| 
 |  | ||||||
| 	@classmethod |  | ||||||
| 	def from_tnldata_list(cls, tnllist): |  | ||||||
| 		"""Vyrobíme virtuální TNL, který nemá obsah, ale má za potomky všechna zadaná TNLData""" |  | ||||||
| 		result = cls(None) |  | ||||||
| 		for idx, tnl in enumerate(tnllist): |  | ||||||
| 			result.children.append(tnl) |  | ||||||
| 			tnl.parent = result |  | ||||||
| 			tnl.index = idx |  | ||||||
| 		result.add_edit_options() |  | ||||||
| 		return result |  | ||||||
| 
 |  | ||||||
| 	@classmethod |  | ||||||
| 	def filter_treenode(cls, treenode, predicate): |  | ||||||
| 		tnll = cls._filter_treenode_recursive(treenode, predicate) # TreeNodeList List :-) |  | ||||||
| 		return TNLData.from_tnldata_list(tnll) |  | ||||||
| 
 |  | ||||||
| 	@classmethod |  | ||||||
| 	def _filter_treenode_recursive(cls, treenode, predicate): |  | ||||||
| 		if predicate(treenode): |  | ||||||
| 			return [cls.from_treenode(treenode)] |  | ||||||
| 		else: |  | ||||||
| 			found = [] |  | ||||||
| 			for tn in treelib.all_children(treenode): |  | ||||||
| 				result = cls.filter_treenode(tn, predicate) |  | ||||||
| 				# Result by v tuhle chvíli měl být seznam TNLDat odpovídající treenodům, jež matchnuly predikát. |  | ||||||
| 				for tnl in result: |  | ||||||
| 					found.append(tnl) |  | ||||||
| 			return found |  | ||||||
| 
 |  | ||||||
| 	def to_json(self): |  | ||||||
| 		#self.node = anode |  | ||||||
| 		#self.children = [] |  | ||||||
| 		#self.parent = parent |  | ||||||
| 		#self.tema_in_path = False |  | ||||||
| 		#self.index = index |  | ||||||
| 		out = {} |  | ||||||
| 		out['node'] = self.sernode.data |  | ||||||
| 		out['children'] = [n.to_json() for n in self.children] |  | ||||||
| 		out['tema_in_path'] = self.tema_in_path |  | ||||||
| 		out['index'] = self.index |  | ||||||
| 		out['deletable'] = self.deletable |  | ||||||
| 		out['editable_siblings'] = self.editable_siblings |  | ||||||
| 		out['editable_children'] = self.editable_children |  | ||||||
| 		out['text_only_subtree'] = self.text_only_subtree |  | ||||||
| 		out['can_podvesit_za'] = self.can_podvesit_za |  | ||||||
| 		out['can_podvesit_pod'] = self.can_podvesit_pred |  | ||||||
| 		out['appendable_children'] = self.appendable_children |  | ||||||
| 		out['appendable_siblings'] = self.appendable_siblings |  | ||||||
| 
 |  | ||||||
| 		return out |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 	def __repr__(self): |  | ||||||
| 		return("TNL({})".format(self.node)) |  | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
| # FIXME: Pozor, níž je ještě jeden ProblemView! | # FIXME: Pozor, níž je ještě jeden ProblemView! | ||||||
| #class ProblemView(generic.DetailView): | #class ProblemView(generic.DetailView): | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue