Jonas Havelka
5 months ago
2 changed files with 63 additions and 48 deletions
@ -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 new issue