Browse Source

testutils.py: přidány sousy a konfery

export_seznamu_prednasek
Tomáš Domes 5 years ago
parent
commit
500258c16a
  1. 49
      seminar/testutils.py

49
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(),

Loading…
Cancel
Save