From 500258c16a068ae32780bdf1d5b0cac5ce87f7a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Domes?= Date: Wed, 24 Jul 2019 16:05:01 +0200 Subject: [PATCH] =?UTF-8?q?testutils.py:=20p=C5=99id=C3=A1ny=20sousy=20a?= =?UTF-8?q?=20konfery?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- seminar/testutils.py | 49 +++++++++++++++++++++++++------------------- 1 file changed, 28 insertions(+), 21 deletions(-) diff --git a/seminar/testutils.py b/seminar/testutils.py index 97067b21..e8f302bc 100644 --- a/seminar/testutils.py +++ b/seminar/testutils.py @@ -36,9 +36,9 @@ def gen_osoby(rnd, size): 'Unterschiedlich', 'Old York', 'Lancastershire', 'Vóloďháza'] osoby = [] - # 3 je náhodná konstanta, size je použité na víc místech a + # 30 je náhodná konstanta, size je použité na víc místech a # říká, jak velká asi chceme testovací data - for i in range(3 * size): + for i in range(30 * size): pohlavi = rnd.randint(0,1) jmeno = rnd.choice([jmena_m, jmena_f][pohlavi]) prijmeni = rnd.choice([prijmeni_m, prijmeni_f][pohlavi]) @@ -48,7 +48,6 @@ def gen_osoby(rnd, size): narozeni = datetime.date(rnd.randint(1980, 2020), rnd.randint(1, 12), rnd.randint(1, 28)) ulic = rnd.choice(seznam_ulic) - print(ulic) #FIXME: pozdeji smazat, jen debug cp = rnd.randint(1, 99) ulice = " ".join([ulic, str(cp)]) mesto = rnd.choice([seznam_mest]) @@ -81,7 +80,6 @@ def gen_skoly(): #TODO někdy to přepsat, aby jich bylo více ulice='Hluboká 42', nazev='Hutní gympl', je_zs=False, je_ss=True)) skoly.append(Skola.objects.create(mesto='Humenné', stat='SK', psc='012 34', ulice='Pltká 1', nazev='Sredná škuola', je_zs=False, je_ss=True)) - #FIXME pridat kontaktni osobu alespon nekde global zlinska zlinska = Skola.objects.create(mesto = 'Zlín', stat='CZ', psc='76001', ulice='náměstí T.G. Masaryka 2734-9', @@ -231,10 +229,14 @@ def gen_soustredeni(rnd, resitele, organizatori): typ=rnd.choice(['jarni', 'podzimni', 'vikend']), datum_zacatku=datum_zacatku, datum_konce=datum_zacatku + datetime.timedelta(days=7)) - for res in rnd.sample(resitele, min(len(resitele), 20)): - Soustredeni_Ucastnici.objects.create(resitel=res, soutredeni=working_sous) - for org in rnd.sample(organizatori, min(len(organizatori), 20)): - Soustredeni_Organizatori.objects.create(organizator=org, soutredeni=working_sous) + 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 @@ -250,7 +252,7 @@ def gen_rocniky(last_rocnik, size): rocniky.append(rocnik) return rocniky -def gen_konfery(rnd, reseni, organizatori, ucastnici, soustredeni): +def gen_konfery(size, rnd, organizatori, resitele, soustredeni): konfery = [] for _ in range(1, size): #FIXME Tu range si změňte jak chcete, nevím, co přesně znamená size (asi Anet?) konfera = Konfera.objects.create( @@ -259,13 +261,15 @@ def gen_konfery(rnd, reseni, organizatori, ucastnici, soustredeni): abstrakt=lorem.paragraph(), organizator=rnd.choice(organizatori), soustredeni=rnd.choice(soustredeni), - reseni=rnd.choice(reseni), typ_prezentace=rnd.choice(['veletrh', 'prezentace'])) - for res in rnd.sample(ucastnici, min(len(ucastnici), rnd.randint(3, 6))): - Konfery_Ucastnici.objects.create(resitel=res, konfera=konfera) - konfery.append(konfera) + 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) + konferanode = KonferaNode.objects.create(konfera=konfera) konferanode.save() return konfery @@ -488,7 +492,6 @@ def create_test_data(size = 6, rnd = None): # skoly skoly = gen_skoly() - #TODO Generovat soustredeni konfery # osoby osoby = gen_osoby(rnd, size) @@ -520,17 +523,21 @@ def create_test_data(size = 6, rnd = None): # generování úloh k tématům ve všech číslech gen_ulohy_k_tematum(rnd, rocniky, rocnik_cisla, rocnik_temata, organizatori) - - # FIXME: misto typu ruzne typy objektu a vnoreni do sebe + + #generování soustředění + soustredeni = gen_soustredeni(rnd, resitele, organizatori) + + #generování konfer + konfery = gen_konfery(size, rnd, organizatori, resitele, soustredeni) + + # TODO: nastavi správně, kolik se čeho generuje, aby rozsahy přibližně odpovídaly + # FIXME: misto typu ruzne typy objektu a vnoreni do sebe (Tom nechápe, co je tímto fixme míněno) # TODO: vytvorit temata s ruznymi vlakny # TODO: nagenerovat starsim rocnikum pohadku # TODO: nagenerovat články - # TODO: nagenerovat konfery # TODO: vecpat obrázky všude, kde to jde - # TODO: nagenerovat nějaký strom nodů? # TODO: mezičíslo node - - # TODO: nahodne nagenerovat problemum reseni a prilohy reseni, hodnoceni + # TODO: přidat ke konferám řešení a dát je do čísel # obecné nastavení semináře, musí být už přidané ročníky a čísla, jinak se nastaví divně nastaveni = Nastaveni.objects.create(aktualni_rocnik = Rocnik.objects.last(),