Oddělení sousových věcí #56
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