Testdata: Generujeme jeden článek
This commit is contained in:
		
							parent
							
								
									cad478cd99
								
							
						
					
					
						commit
						443f05bddc
					
				
					 1 changed files with 73 additions and 0 deletions
				
			
		|  | @ -681,6 +681,77 @@ def otec_syn(otec, syn): | |||
| 	syn.save() | ||||
| 	otec.save() | ||||
| 
 | ||||
| def gen_clanek(rnd): | ||||
| 	logger.info("Generuji článek do čísla 22.2") | ||||
| 	clanek = m.Clanek.objects.create( | ||||
| 		nazev="Článek o Lorem ipsum", | ||||
| 		nadproblem=None, | ||||
| 		stav='vyreseny', | ||||
| 		zamereni=['I'], | ||||
| 		garant=rnd.choice(m.Organizator.objects.all()), | ||||
| 		kod='cl', | ||||
| 		) | ||||
| 	clanek.save() | ||||
| 
 | ||||
| 	reseni = m.Reseni.objects.create( | ||||
| 		zverejneno=True, | ||||
| 		) | ||||
| 	reseni.resitele.add(rnd.choice(m.Resitel.objects.all())) | ||||
| 	reseni.save() | ||||
| 
 | ||||
| 	cislo = m.Cislo.objects.get(rocnik__rocnik=22, poradi=2) | ||||
| 	cislonode = cislo.cislonode | ||||
| 
 | ||||
| 	hodnoceni = m.Hodnoceni.objects.create( | ||||
| 		body=15.0, | ||||
| 		cislo_body=cislo, | ||||
| 		reseni=reseni, | ||||
| 		problem=clanek, | ||||
| 		) | ||||
| 	hodnoceni.save() | ||||
| 
 | ||||
| 	reseninode = m.ReseniNode.objects.create( | ||||
| 		reseni=reseni | ||||
| 		) | ||||
| 	reseninode.save() | ||||
| 
 | ||||
| 	# Bude to celý text | ||||
| 	reseni.text_cely = reseninode | ||||
| 	reseni.save() | ||||
| 	 | ||||
| 	from seminar.treelib import insert_last_child, create_child | ||||
| 	insert_last_child(cislonode, reseninode) | ||||
| 
 | ||||
| 	# Vyrobíme nějaký obsah | ||||
| 	# FIXME: Ten, kdo vymyslel TreeLib (mj. týž, kdo psal tenhle kód), | ||||
| 	# nevyrobil vhodnou funkci, takže to postavíme pozpátku pomocí create_child | ||||
| 	# (které vyrábí _prvního_ syna) | ||||
| 	create_child(reseninode, m.CastNode, nadpis="Lorem ipsum") | ||||
| 	# Taky ten člověk nevyrobil vracení nových věcí... | ||||
| 	castnode = reseninode.first_child | ||||
| 	 | ||||
| 	# Úvodní odstaveček | ||||
| 	obsah = "Tohle je zamyšlení o textu lorem ipsum. Začneme a skončíme ukázkou." | ||||
| 	text = m.Text.objects.create( | ||||
| 		na_web=obsah, | ||||
| 		do_cisla=obsah, | ||||
| 		) | ||||
| 	text.save() | ||||
| 	create_child(reseninode, m.TextNode, text=text) | ||||
| 
 | ||||
| 	# Několik odstavců lorem ipsum | ||||
| 	for _ in range(rnd.randint(3, 7)): | ||||
| 		lipsum = lorem.paragraph() | ||||
| 		text = m.Text.objects.create( | ||||
| 			na_web=lipsum, | ||||
| 			do_cisla=lipsum, | ||||
| 			) | ||||
| 		text.save() | ||||
| 		create_child(castnode, m.TextNode, text=text) | ||||
| 	logger.info(f"Článek vygenerován (reseni={reseni.id}, treenode={reseninode.id})") | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| @transaction.atomic | ||||
| def create_test_data(size = 6, rnd = None): | ||||
| 	logger.info('Vyrábím testovací data (size={})...'.format(size)) | ||||
|  | @ -768,6 +839,8 @@ def create_test_data(size = 6, rnd = None): | |||
| 			# TODO: mezičíslo node | ||||
| 			# TODO: přidat ke konferám řešení a dát je do čísel | ||||
| 
 | ||||
| 	# Dohackované vytvoření jednoho článku | ||||
| 	gen_clanek(rnd) | ||||
| 
 | ||||
| 
 | ||||
| 	# obecné nastavení semináře, musí být už přidané ročníky a čísla, jinak se nastaví divně | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Pavel 'LEdoian' Turinsky
						Pavel 'LEdoian' Turinsky