Oddělení generování testdat k sous věcem
This commit is contained in:
		
							parent
							
								
									62a65af40e
								
							
						
					
					
						commit
						27beb34153
					
				
					 2 changed files with 63 additions and 48 deletions
				
			
		|  | @ -12,13 +12,15 @@ import unidecode | ||||||
| import logging | import logging | ||||||
| 
 | 
 | ||||||
| from korektury.testutils import create_test_pdf | from korektury.testutils import create_test_pdf | ||||||
| from seminar.models import Skola, Resitel, Rocnik, Cislo, Deadline, Problem, Reseni, PrilohaReseni, Nastaveni, Soustredeni, Soustredeni_Ucastnici, Soustredeni_Organizatori, Osoba, Organizator, Prijemce, Tema, Uloha, Konfera, TextNode, UlohaVzorakNode, RocnikNode, CisloNode, TemaVCisleNode, Text, Hodnoceni, UlohaZadaniNode, Novinky, TreeNode | from seminar.models import Skola, Resitel, Rocnik, Cislo, Deadline, Problem, Reseni, PrilohaReseni, Nastaveni, Osoba, Organizator, Prijemce, Tema, Uloha, TextNode, UlohaVzorakNode, RocnikNode, CisloNode, TemaVCisleNode, Text, Hodnoceni, UlohaZadaniNode, Novinky, TreeNode | ||||||
| import seminar.models as m | import seminar.models as m | ||||||
| 
 | 
 | ||||||
| from django.contrib.flatpages.models import FlatPage | from django.contrib.flatpages.models import FlatPage | ||||||
| from django.contrib.sites.models import Site | from django.contrib.sites.models import Site | ||||||
| from treenode.treelib import all_children, insert_last_child, all_children_of_type, create_node_after | from treenode.treelib import all_children, insert_last_child, all_children_of_type, create_node_after | ||||||
| 
 | 
 | ||||||
|  | from soustredeni.testutils import gen_soustredeni, gen_konfery | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| User = django.contrib.auth.get_user_model() | User = django.contrib.auth.get_user_model() | ||||||
| zlinska = None # tohle bude speciální škola, které později dodáme kontaktní osobu | zlinska = None # tohle bude speciální škola, které později dodáme kontaktní osobu | ||||||
|  | @ -354,30 +356,6 @@ def gen_ulohy_do_cisla(rnd, organizatori, resitele, rocnik_cisla, rocniky, size) | ||||||
| 
 | 
 | ||||||
| 	return | 	return | ||||||
| 
 | 
 | ||||||
| def gen_soustredeni(rnd, resitele, organizatori): |  | ||||||
| 	logger.info('Generuji soustředění...') |  | ||||||
| 
 |  | ||||||
| 	soustredeni = [] |  | ||||||
| 	for _ in range(1, 10): #FIXME Tu range si změňte jak chcete, nevím, co přesně znamená size (asi Anet?) |  | ||||||
| 		datum_zacatku=datetime.date(rnd.randint(2000, 2020), rnd.randint(1, 12), rnd.randint(1, 28)) |  | ||||||
| 		working_sous = Soustredeni.objects.create( |  | ||||||
| 			rocnik=Rocnik.objects.order_by('?').first(), |  | ||||||
| 			verejne_db=rnd.choice([True, False]), |  | ||||||
| 			misto=rnd.choice(['Kremrolovice', 'Indiánov', 'U zmzliny', 'Vafláreň', 'Větrník', 'Horní Rakvička', 'Dolní cheesecake']), |  | ||||||
| 			typ=rnd.choice(['jarni', 'podzimni', 'vikend']), |  | ||||||
| 			datum_zacatku=datum_zacatku, |  | ||||||
| 			datum_konce=datum_zacatku + datetime.timedelta(days=7)) |  | ||||||
| 		ucastnici = rnd.sample(resitele, min(len(resitele), 20)) |  | ||||||
| 		working_sous.ucastnici.set(ucastnici) |  | ||||||
| 		#for res in rnd.sample(resitele, min(len(resitele), 20)): |  | ||||||
| 		#	Soustredeni_Ucastnici.objects.create(resitel=res, soutredeni=working_sous) |  | ||||||
| 		orgove_vyber = rnd.sample(organizatori, min(len(organizatori), 20)) |  | ||||||
| 		working_sous.organizatori.set(orgove_vyber) |  | ||||||
| 		#for org in rnd.sample(organizatori, min(len(organizatori), 20)): |  | ||||||
| 		#	Soustredeni_Organizatori.objects.create(organizator=org, soutredeni=working_sous) |  | ||||||
| 		working_sous.save() |  | ||||||
| 		soustredeni.append(working_sous) |  | ||||||
| 	return soustredeni |  | ||||||
| 
 | 
 | ||||||
| def gen_rocniky(last_rocnik, size): | def gen_rocniky(last_rocnik, size): | ||||||
| 	logger.info('Generuji ročníky (size={})...'.format(size)) | 	logger.info('Generuji ročníky (size={})...'.format(size)) | ||||||
|  | @ -392,28 +370,6 @@ def gen_rocniky(last_rocnik, size): | ||||||
| 		rocniky.append(rocnik) | 		rocniky.append(rocnik) | ||||||
| 	return rocniky | 	return rocniky | ||||||
| 
 | 
 | ||||||
| def gen_konfery(size, rnd, organizatori, resitele, soustredeni): |  | ||||||
| 	logger.info('Generuji konfery (size={})...'.format(size)) |  | ||||||
| 
 |  | ||||||
| 	konfery = [] |  | ||||||
| 	for _ in range(1, size): #FIXME Tu range si změňte jak chcete, nevím, co přesně znamená size (asi Anet?) |  | ||||||
| 		# Anet: size je parametr udávající velikost testovacích dat a dá se pomocí ní škálovat, |  | ||||||
| 		# kolik dat se nageneruje |  | ||||||
| 		konfera = Konfera.objects.create( |  | ||||||
| 			nazev=rnd.choice(['Pozorování', 'Zkoumání', 'Modelování', 'Počítání', 'Zkoušení']) + rnd.choice([' vlastností', ' jevů', ' charakteristik']) + rnd.choice([' vektorových prostorů', ' kinetické terorie látek', ' molekulární biologie', ' syntentických stromů']), |  | ||||||
| 			anotace=lorem.paragraph(), |  | ||||||
| 			abstrakt=lorem.paragraph(), |  | ||||||
| 			garant=rnd.choice(organizatori), |  | ||||||
| 			soustredeni=rnd.choice(soustredeni), |  | ||||||
| 			typ_prezentace=rnd.choice(['veletrh', 'prezentace'])) |  | ||||||
| 		ucastnici_sous = list(konfera.soustredeni.ucastnici.all()) |  | ||||||
| 		ucastnici = rnd.sample(ucastnici_sous, min(len(ucastnici_sous), rnd.randint(3, 6))) |  | ||||||
| 		konfera.ucastnici.set(ucastnici) |  | ||||||
| 		#for res in rnd.sample(ucastnici, min(len(ucastnici), rnd.randint(3, 6))): |  | ||||||
| 		#	Konfery_Ucastnici.objects.create(resitel=res, konfera=konfera) |  | ||||||
| 		konfera.save() |  | ||||||
| 		konfery.append(konfera) |  | ||||||
| 	return konfery |  | ||||||
| 
 | 
 | ||||||
| def gen_cisla(rnd, rocniky): | def gen_cisla(rnd, rocniky): | ||||||
| 	logger.info('Generuji čísla...') | 	logger.info('Generuji čísla...') | ||||||
|  | @ -883,7 +839,7 @@ def create_test_data(size = 6, rnd = None): | ||||||
| 	gen_ulohy_k_tematum(rnd, rocniky, rocnik_cisla, rocnik_temata, organizatori, resitele) | 	gen_ulohy_k_tematum(rnd, rocniky, rocnik_cisla, rocnik_temata, organizatori, resitele) | ||||||
| 
 | 
 | ||||||
| 	#generování soustředění | 	#generování soustředění | ||||||
| 	soustredeni = gen_soustredeni(rnd, resitele, organizatori) | 	soustredeni = gen_soustredeni(size, rnd, resitele, organizatori) | ||||||
| 
 | 
 | ||||||
| 	#generování konfer | 	#generování konfer | ||||||
| 	konfery = gen_konfery(size, rnd, organizatori, resitele, soustredeni) | 	konfery = gen_konfery(size, rnd, organizatori, resitele, soustredeni) | ||||||
|  |  | ||||||
							
								
								
									
										59
									
								
								soustredeni/testutils.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								soustredeni/testutils.py
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,59 @@ | ||||||
|  | import logging | ||||||
|  | import datetime | ||||||
|  | 
 | ||||||
|  | import lorem | ||||||
|  | 
 | ||||||
|  | from .models import Soustredeni, Konfera | ||||||
|  | import seminar.models.tvorba as am | ||||||
|  | 
 | ||||||
|  | logger = logging.getLogger(__name__) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def gen_soustredeni(size, rnd, resitele, organizatori): | ||||||
|  | 	logger.info('Generuji soustředění...') | ||||||
|  | 
 | ||||||
|  | 	soustredeni = [] | ||||||
|  | 	for _ in range(1, 10):  # FIXME Tu range si změňte jak chcete, nevím, co přesně znamená size (asi Anet?) | ||||||
|  | 		datum_zacatku = datetime.date(rnd.randint(2000, 2020), rnd.randint(1, 12), rnd.randint(1, 28)) | ||||||
|  | 		working_sous = Soustredeni.objects.create( | ||||||
|  | 			rocnik=am.Rocnik.objects.order_by('?').first(), | ||||||
|  | 			verejne_db=rnd.choice([True, False]), | ||||||
|  | 			misto=rnd.choice(['Kremrolovice', 'Indiánov', 'U zmzliny', 'Vafláreň', 'Větrník', 'Horní Rakvička', 'Dolní cheesecake']), | ||||||
|  | 			typ=rnd.choice(['jarni', 'podzimni', 'vikend']), | ||||||
|  | 			datum_zacatku=datum_zacatku, | ||||||
|  | 			datum_konce=datum_zacatku + datetime.timedelta(days=7)) | ||||||
|  | 		ucastnici = rnd.sample(resitele, min(len(resitele), 20)) | ||||||
|  | 		working_sous.ucastnici.set(ucastnici) | ||||||
|  | 		# for res in rnd.sample(resitele, min(len(resitele), 20)): | ||||||
|  | 		# 	Soustredeni_Ucastnici.objects.create(resitel=res, soutredeni=working_sous) | ||||||
|  | 		orgove_vyber = rnd.sample(organizatori, min(len(organizatori), 20)) | ||||||
|  | 		working_sous.organizatori.set(orgove_vyber) | ||||||
|  | 		# for org in rnd.sample(organizatori, min(len(organizatori), 20)): | ||||||
|  | 		# 	Soustredeni_Organizatori.objects.create(organizator=org, soutredeni=working_sous) | ||||||
|  | 		working_sous.save() | ||||||
|  | 		soustredeni.append(working_sous) | ||||||
|  | 	return soustredeni | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def gen_konfery(size, rnd, organizatori, resitele, soustredeni): | ||||||
|  | 	logger.info('Generuji konfery (size={})...'.format(size)) | ||||||
|  | 
 | ||||||
|  | 	konfery = [] | ||||||
|  | 	for _ in range(1, size):  # FIXME Tu range si změňte jak chcete, nevím, co přesně znamená size (asi Anet?) | ||||||
|  | 		# Anet: size je parametr udávající velikost testovacích dat a dá se pomocí ní škálovat, | ||||||
|  | 		# kolik dat se nageneruje | ||||||
|  | 		konfera = Konfera.objects.create( | ||||||
|  | 			nazev=rnd.choice(['Pozorování', 'Zkoumání', 'Modelování', 'Počítání', 'Zkoušení']) + rnd.choice([' vlastností', ' jevů', ' charakteristik']) + rnd.choice([' vektorových prostorů', ' kinetické terorie látek', ' molekulární biologie', ' syntentických stromů']), | ||||||
|  | 			anotace=lorem.paragraph(), | ||||||
|  | 			abstrakt=lorem.paragraph(), | ||||||
|  | 			garant=rnd.choice(organizatori), | ||||||
|  | 			soustredeni=rnd.choice(soustredeni), | ||||||
|  | 			typ_prezentace=rnd.choice(['veletrh', 'prezentace'])) | ||||||
|  | 		ucastnici_sous = list(konfera.soustredeni.ucastnici.all()) | ||||||
|  | 		ucastnici = rnd.sample(ucastnici_sous, min(len(ucastnici_sous), rnd.randint(3, 6))) | ||||||
|  | 		konfera.ucastnici.set(ucastnici) | ||||||
|  | 		# for res in rnd.sample(ucastnici, min(len(ucastnici), rnd.randint(3, 6))): | ||||||
|  | 		# 	Konfery_Ucastnici.objects.create(resitel=res, konfera=konfera) | ||||||
|  | 		konfera.save() | ||||||
|  | 		konfery.append(konfera) | ||||||
|  | 	return konfery | ||||||
		Loading…
	
		Reference in a new issue