|
@ -7,7 +7,7 @@ import django.contrib.auth |
|
|
from django.db import transaction |
|
|
from django.db import transaction |
|
|
import unidecode |
|
|
import unidecode |
|
|
|
|
|
|
|
|
from seminar.models import Skola, Resitel, Rocnik, Cislo, Problem, Reseni, PrilohaReseni, Nastaveni, Soustredeni, Soustredeni_Ucastnici, Soustredeni_Organizatori, Osoba, Organizator, Prijemce, Tema, Uloha, Konfera, KonferaNode, Konfera_Ucastnici |
|
|
from seminar.models import Skola, Resitel, Rocnik, Cislo, Problem, Reseni, PrilohaReseni, Nastaveni, Soustredeni, Soustredeni_Ucastnici, Soustredeni_Organizatori, Osoba, Organizator, Prijemce, Tema, Uloha, Konfera, KonferaNode, RocnikNode |
|
|
|
|
|
|
|
|
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 |
|
@ -209,15 +209,15 @@ def gen_ulohy_do_cisla(rnd, cislo, organizatori, resitele, slovnik_cisel, size): |
|
|
|
|
|
|
|
|
def gen_soustredeni(rnd, resitele, organizatori): |
|
|
def gen_soustredeni(rnd, resitele, organizatori): |
|
|
soustredeni = [] |
|
|
soustredeni = [] |
|
|
for _ in range(1, size): #FIXME Tu range si změňte jak chcete, nevím, co přesně znamená size (asi Anet?) |
|
|
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(randint(2000, 2020), randint(1, 12), radint(1, 28)) |
|
|
datum_zacatku=datetime.date(rnd.randint(2000, 2020), rnd.randint(1, 12), rnd.randint(1, 28)) |
|
|
working_sous = Soustredeni.objects.create( |
|
|
working_sous = Soustredeni.objects.create( |
|
|
rocnik=Rocnik.objects.order_by('?').first(), |
|
|
rocnik=Rocnik.objects.order_by('?').first(), |
|
|
verejne_db=rnd.choice([True, False]), |
|
|
verejne_db=rnd.choice([True, False]), |
|
|
misto=rnd.choice(['Kremrolovice', 'Indiánov', 'U zmzliny', 'Vafláreň', 'Větrník', 'Horní Rakvička', 'Dolní cheesecake']), |
|
|
misto=rnd.choice(['Kremrolovice', 'Indiánov', 'U zmzliny', 'Vafláreň', 'Větrník', 'Horní Rakvička', 'Dolní cheesecake']), |
|
|
typ=rnd.choice(['jarni', 'podzmini', 'vikend']), |
|
|
typ=rnd.choice(['jarni', 'podzimni', 'vikend']), |
|
|
datum_zacatku=datum_zacatku, |
|
|
datum_zacatku=datum_zacatku, |
|
|
datum_konce=datum_zacatku + datetime.timedelta(weeks=1)) |
|
|
datum_konce=datum_zacatku + datetime.timedelta(days=7)) |
|
|
for res in rnd.sample(resitele, min(len(resitele), 20)): |
|
|
for res in rnd.sample(resitele, min(len(resitele), 20)): |
|
|
Soustredeni_Ucastnici.objects.create(resitel=res, soutredeni=working_sous) |
|
|
Soustredeni_Ucastnici.objects.create(resitel=res, soutredeni=working_sous) |
|
|
for org in rnd.sample(organizatori, min(len(organizatori), 20)): |
|
|
for org in rnd.sample(organizatori, min(len(organizatori), 20)): |
|
@ -240,14 +240,14 @@ def gen_konfery(rnd, reseni, organizatori, ucastnici, soustredeni): |
|
|
konfery = [] |
|
|
konfery = [] |
|
|
for _ in range(1, size): #FIXME Tu range si změňte jak chcete, nevím, co přesně znamená size (asi Anet?) |
|
|
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( |
|
|
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ů']), |
|
|
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(), |
|
|
anotace=lorem.paragraph(), |
|
|
abstrakt=lorem.paragraph(), |
|
|
abstrakt=lorem.paragraph(), |
|
|
organizator=rnd.choice(organizatori), |
|
|
organizator=rnd.choice(organizatori), |
|
|
soustredeni=rnd.choice(soustredeni), |
|
|
soustredeni=rnd.choice(soustredeni), |
|
|
reseni=rnd.choice(reseni), |
|
|
reseni=rnd.choice(reseni), |
|
|
typ_prezentace=rnd.choice(['veletrh', 'prezentace'])) |
|
|
typ_prezentace=rnd.choice(['veletrh', 'prezentace'])) |
|
|
for res in rnd.sample(ucastnici, min(len(ucastnici), randint(3, 6))): |
|
|
for res in rnd.sample(ucastnici, min(len(ucastnici), rnd.randint(3, 6))): |
|
|
Konfery_Ucastnici.objects.create(resitel=res, konfera=konfera) |
|
|
Konfery_Ucastnici.objects.create(resitel=res, konfera=konfera) |
|
|
konfery.append(konfera) |
|
|
konfery.append(konfera) |
|
|
konfera.save() |
|
|
konfera.save() |
|
@ -297,7 +297,7 @@ def gen_temata(rocniky, slovnik_rocnik_cisla): |
|
|
slovnik_rocnik_temata = {} |
|
|
slovnik_rocnik_temata = {} |
|
|
for rocnik in rocniky: |
|
|
for rocnik in rocniky: |
|
|
temata = {} |
|
|
temata = {} |
|
|
for cislo in slovnik_r[rocnik] |
|
|
for cislo in slovnik_r[rocnik]: |
|
|
if cislo <= 3: |
|
|
if cislo <= 3: |
|
|
jake = ["Hravé", "Fyzikální", "Nejlepší", "Totálně masakrální", |
|
|
jake = ["Hravé", "Fyzikální", "Nejlepší", "Totálně masakrální", |
|
|
"Šokující", "Magnetické", "Modré", "Překvapivé", |
|
|
"Šokující", "Magnetické", "Modré", "Překvapivé", |
|
@ -330,46 +330,46 @@ def gen_ulohy_k_tematum(rocniky, slovnik_rocnik_cisla, slovnik_rocnik_temata): |
|
|
slovnik_cisel = slovnik_rocnik_cisla[rocnik] |
|
|
slovnik_cisel = slovnik_rocnik_cisla[rocnik] |
|
|
cisel = len(slovnik_cisel) |
|
|
cisel = len(slovnik_cisel) |
|
|
slovnik_temat = slovnik_rocnik_temata[rocnik] |
|
|
slovnik_temat = slovnik_rocnik_temata[rocnik] |
|
|
for tema in slovnik_temat: |
|
|
for tema in slovnik_temat: |
|
|
for i in range(tema. |
|
|
for i in []: |
|
|
if #TODO |
|
|
if (1==1):#TODO |
|
|
poc_op = rnd.randint(1, 4) |
|
|
poc_op = rnd.randint(1, 4) |
|
|
poc_oboru = rnd.randint(1, 2) |
|
|
poc_oboru = rnd.randint(1, 2) |
|
|
p = Uloha.objects.create( |
|
|
p = Uloha.objects.create( |
|
|
nazev=": ".join([tema.nazev, |
|
|
nazev=": ".join([tema.nazev, |
|
|
"úloha {}.".format(i-ci+1)]), |
|
|
"úloha {}.".format(i-ci+1)]), |
|
|
nadproblem=tema, |
|
|
nadproblem=tema, |
|
|
stav=Problem.STAV_ZADANY, |
|
|
stav=Problem.STAV_ZADANY, |
|
|
zamereni=t.zamereni, |
|
|
zamereni=t.zamereni, |
|
|
autor=t.autor, |
|
|
autor=t.autor, |
|
|
garant=t.garant, |
|
|
garant=t.garant, |
|
|
opravovatele=rnd.sample(organizatori, poc_op), |
|
|
opravovatele=rnd.sample(organizatori, poc_op), |
|
|
kod=str(i), |
|
|
kod=str(i), |
|
|
cislo_zadani=slovnik_cisel[ci], |
|
|
cislo_zadani=slovnik_cisel[ci], |
|
|
cislo_reseni=slovnik_cisel[ci+2], |
|
|
cislo_reseni=slovnik_cisel[ci+2], |
|
|
cislo_deadline=slovnik_cisel[ci+2], |
|
|
cislo_deadline=slovnik_cisel[ci+2], |
|
|
max_body = rnd.randint(1, 8)) |
|
|
max_body = rnd.randint(1, 8)) |
|
|
p.zadani = " ".join([rnd.choice(sloveso), rnd.choice(koho), |
|
|
p.zadani = " ".join([rnd.choice(sloveso), rnd.choice(koho), |
|
|
rnd.choice(ceho), rnd.choice(jmeno), rnd.choice(kde)]) |
|
|
rnd.choice(ceho), rnd.choice(jmeno), rnd.choice(kde)]) |
|
|
|
|
|
|
|
|
#Tomův pokus o opravu bugu: |
|
|
#Tomův pokus o opravu bugu: |
|
|
text_vzoraku = Text.objects.create( |
|
|
text_vzoraku = Text.objects.create( |
|
|
na_web = rnd.choice(reseni), |
|
|
na_web = rnd.choice(reseni), |
|
|
do_cisla = rnd.choice(reseni) |
|
|
do_cisla = rnd.choice(reseni) |
|
|
) |
|
|
) |
|
|
vzorak = TextNode.objects.create(text = text_vzoraku) |
|
|
vzorak = TextNode.objects.create(text = text_vzoraku) |
|
|
uloha_vzorak = UlohaVzorakNode.objects.create(uloha=p, first_child = vzorak) |
|
|
uloha_vzorak = UlohaVzorakNode.objects.create(uloha=p, first_child = vzorak) |
|
|
p.UlohaVzorakNode = uloha_vzorak |
|
|
p.UlohaVzorakNode = uloha_vzorak |
|
|
|
|
|
|
|
|
#p.vzorak = " - ".join([p.zadani, rnd.choice(reseni)]) |
|
|
#p.vzorak = " - ".join([p.zadani, rnd.choice(reseni)]) |
|
|
p.save() |
|
|
p.save() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# vytvor text |
|
|
# vytvor text |
|
|
# vytvor TemaVCisleNode |
|
|
# vytvor TemaVCisleNode |
|
|
if (rnd.randint(1, 3) % 3 == 0): |
|
|
if (rnd.randint(1, 3) % 3 == 0): |
|
|
# vytvor mezicislo Node |
|
|
# vytvor mezicislo Node |
|
|
pass |
|
|
pass |
|
|
|
|
|
|
|
|
@transaction.atomic |
|
|
@transaction.atomic |
|
|
def create_test_data(size = 6, rnd = None): |
|
|
def create_test_data(size = 6, rnd = None): |
|
@ -377,6 +377,10 @@ def create_test_data(size = 6, rnd = None): |
|
|
# pevna pseudo-nahodnost |
|
|
# pevna pseudo-nahodnost |
|
|
rnd = rnd or random.Random(x=42) |
|
|
rnd = rnd or random.Random(x=42) |
|
|
|
|
|
|
|
|
|
|
|
gen_rocniky(25, 10) |
|
|
|
|
|
gen_soustredeni(rnd, [], []) |
|
|
|
|
|
return |
|
|
|
|
|
|
|
|
# static URL stranky |
|
|
# static URL stranky |
|
|
# FIXME: nakopirovat sem vsechny z produkcni databaze |
|
|
# FIXME: nakopirovat sem vsechny z produkcni databaze |
|
|
s = Site.objects.filter(name="example.com") |
|
|
s = Site.objects.filter(name="example.com") |
|
|