testutils.py: opraveny všechny syntaktické chyby
This commit is contained in:
parent
cd0625ef58
commit
6d3acccae8
1 changed files with 155 additions and 115 deletions
|
@ -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, TextNode, UlohaVzorakNode, RocnikNode, CisloNode, TemaVCisleNode, Text, Hodnoceni
|
from seminar.models import Skola, Resitel, Rocnik, Cislo, Problem, Reseni, PrilohaReseni, Nastaveni, Soustredeni, Soustredeni_Ucastnici, Soustredeni_Organizatori, Osoba, Organizator, Prijemce, Tema, Uloha, Konfera, KonferaNode, TextNode, UlohaVzorakNode, RocnikNode, CisloNode, TemaVCisleNode, Text, Hodnoceni, UlohaZadaniNode
|
||||||
|
|
||||||
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
|
||||||
|
@ -122,7 +122,7 @@ def gen_organizatori(rnd, osoby, last_rocnik, users):
|
||||||
organizuje_od=od, organizuje_do=do))
|
organizuje_od=od, organizuje_do=do))
|
||||||
return organizatori
|
return organizatori
|
||||||
|
|
||||||
def gen_ulohy_do_cisla(rnd, ci, organizatori, resitele, slovnik_cisel, size):
|
def gen_ulohy_do_cisla(rnd, organizatori, resitele, rocnik_cisla, rocniky, size):
|
||||||
# ulohy resene v cisle
|
# ulohy resene v cisle
|
||||||
jaka = ["Šachová", "Černá", "Větrná", "Dlouhá", "Křehká", "Rychlá",
|
jaka = ["Šachová", "Černá", "Větrná", "Dlouhá", "Křehká", "Rychlá",
|
||||||
"Zákeřná", "Fyzikální"]
|
"Zákeřná", "Fyzikální"]
|
||||||
|
@ -141,63 +141,83 @@ def gen_ulohy_do_cisla(rnd, ci, organizatori, resitele, slovnik_cisel, size):
|
||||||
"netriviální aplikace diferenciálních rovnic", "zadání je vnitřně"
|
"netriviální aplikace diferenciálních rovnic", "zadání je vnitřně"
|
||||||
"sporné", "nepopsatelně jednoduché", "pokud jste na to nepřišli,"
|
"sporné", "nepopsatelně jednoduché", "pokud jste na to nepřišli,"
|
||||||
"tak jste fakt hloupí"]
|
"tak jste fakt hloupí"]
|
||||||
|
k = 0
|
||||||
if ci >= 3: #TODO nagenerovat i nody!!!
|
for rocnik in rocniky:
|
||||||
for pi in range(1, ((size + 1) // 2) + 1):
|
k+=1
|
||||||
poc_op = rnd.randint(1, 4) # počet opravovatelů
|
cisla = rocnik_cisla[k-1]
|
||||||
poc_oboru = rnd.randint(1, 2)
|
for ci in range(3, len(cisla)+1):
|
||||||
p = Uloha.objects.create(
|
for pi in range(1, ((size + 1) // 2) + 1):
|
||||||
# atributy třídy Problem
|
|
||||||
nazev=" ".join([rnd.choice(jaka), rnd.choice(co)]),
|
|
||||||
stav=Problem.STAV_ZADANY,
|
|
||||||
zamereni=rnd.sample(["M", "F", "I", "O", "B"], poc_oboru),
|
|
||||||
autor=rnd.choice(organizatori),
|
|
||||||
garant=rnd.choice(organizatori),
|
|
||||||
kod=str(pi),
|
|
||||||
# atributy třídy Uloha
|
|
||||||
cislo_zadani=slovnik_cisel[ci-2],
|
|
||||||
cislo_reseni=slovnik_cisel[ci],
|
|
||||||
cislo_deadline=slovnik_cisel[ci],
|
|
||||||
max_body = rnd.randint(1, 8)
|
|
||||||
)
|
|
||||||
p.zadani = " ".join(
|
|
||||||
[rnd.choice(sloveso),
|
|
||||||
rnd.choice(koho),
|
|
||||||
rnd.choice(ceho),
|
|
||||||
rnd.choice(jmeno),
|
|
||||||
rnd.choice(kde)]
|
|
||||||
)
|
|
||||||
|
|
||||||
#Tomův pokus o opravu bugu:
|
|
||||||
text_vzoraku = Text.objects.create(
|
|
||||||
na_web = rnd.choice(reseni),
|
|
||||||
do_cisla = rnd.choice(reseni)
|
|
||||||
)
|
|
||||||
vzorak = TextNode.objects.create(text = text_vzoraku)
|
|
||||||
uloha_vzorak = UlohaVzorakNode.objects.create(uloha=p, first_child = vzorak)
|
|
||||||
p.ulohavzoraknode = uloha_vzorak
|
|
||||||
|
|
||||||
|
|
||||||
p.opravovatele.set(rnd.sample(organizatori,poc_op))
|
poc_op = rnd.randint(1, 4) # počet opravovatelů
|
||||||
p.save()
|
poc_oboru = rnd.randint(1, 2)
|
||||||
|
p = Uloha.objects.create(
|
||||||
# reseni ulohy
|
# atributy třídy Problem
|
||||||
poc_reseni = rnd.randint(size // 2, size * 2)
|
nazev=" ".join([rnd.choice(jaka), rnd.choice(co)]),
|
||||||
#poc_resitel = rnd.randint(1, 3) <- k čemu je himbajs tahle proměnná?
|
stav=Problem.STAV_ZADANY,
|
||||||
# vybereme nahodny vzorek resitelu o delce poctu reseni
|
zamereni=rnd.sample(["M", "F", "I", "O", "B"], poc_oboru),
|
||||||
# (nebo skoro vsechny resitele, pokud jich je mene nez pocet reseni)
|
autor=rnd.choice(organizatori),
|
||||||
for ri in range(poc_reseni):
|
garant=rnd.choice(organizatori),
|
||||||
res_vyber = rnd.sample(resitele, rnd.randint(1, 5))
|
kod=str(pi),
|
||||||
# problem a resitele přiřadíme později, ManyToManyField
|
# atributy třídy Uloha
|
||||||
# se nedá vyplnit v create()
|
cislo_zadani=cisla[ci-2-1],
|
||||||
res = Reseni.objects.create(forma=rnd.choice(Reseni.FORMA_CHOICES))
|
cislo_reseni=cisla[ci-1],
|
||||||
res.save()
|
cislo_deadline=cisla[ci-1],
|
||||||
hod = Hodnoceni.objects.create(
|
max_body = rnd.randint(1, 8)
|
||||||
body=rnd.randint(0, p.max_body),
|
|
||||||
cislo_body=slovnik_cisel[ci],
|
|
||||||
reseni=res,
|
|
||||||
problem=p
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
text_zadani = Text.objects.create(
|
||||||
|
na_web = " ".join(
|
||||||
|
[rnd.choice(sloveso),
|
||||||
|
rnd.choice(koho),
|
||||||
|
rnd.choice(ceho),
|
||||||
|
rnd.choice(jmeno),
|
||||||
|
rnd.choice(kde)]
|
||||||
|
),
|
||||||
|
do_cisla = " ".join(
|
||||||
|
[rnd.choice(sloveso),
|
||||||
|
rnd.choice(koho),
|
||||||
|
rnd.choice(ceho),
|
||||||
|
rnd.choice(jmeno),
|
||||||
|
rnd.choice(kde)]
|
||||||
|
)
|
||||||
|
)
|
||||||
|
zad = TextNode.objects.create(text = text_zadani)
|
||||||
|
uloha_zadani = UlohaZadaniNode.objects.create(uloha=p, first_child = zad)
|
||||||
|
p.ulohazadaninode = uloha_zadani
|
||||||
|
otec_syn(cisla[ci-2-1].cislonode, uloha_zadani)
|
||||||
|
|
||||||
|
text_vzoraku = Text.objects.create(
|
||||||
|
na_web = rnd.choice(reseni),
|
||||||
|
do_cisla = rnd.choice(reseni)
|
||||||
|
)
|
||||||
|
vzorak = TextNode.objects.create(text = text_vzoraku)
|
||||||
|
uloha_vzorak = UlohaVzorakNode.objects.create(uloha=p, first_child = vzorak)
|
||||||
|
p.ulohavzoraknode = uloha_vzorak
|
||||||
|
otec_syn(cisla[ci-1].cislonode, uloha_vzorak)
|
||||||
|
|
||||||
|
p.opravovatele.set(rnd.sample(organizatori,poc_op))
|
||||||
|
p.save()
|
||||||
|
|
||||||
|
# reseni ulohy
|
||||||
|
poc_reseni = rnd.randint(size // 2, size * 2)
|
||||||
|
#poc_resitel = rnd.randint(1, 3) <- k čemu je himbajs tahle proměnná?
|
||||||
|
# vybereme nahodny vzorek resitelu o delce poctu reseni
|
||||||
|
# (nebo skoro vsechny resitele, pokud jich je mene nez pocet reseni)
|
||||||
|
for ri in range(poc_reseni):
|
||||||
|
res_vyber = rnd.sample(resitele, rnd.randint(1, 5))
|
||||||
|
# problem a resitele přiřadíme později, ManyToManyField
|
||||||
|
# se nedá vyplnit v create()
|
||||||
|
res = Reseni.objects.create(forma=rnd.choice(Reseni.FORMA_CHOICES))
|
||||||
|
#res.save() <- asi smazat
|
||||||
|
res.resitele.set(res_vyber)
|
||||||
|
res.save()
|
||||||
|
hod = Hodnoceni.objects.create(
|
||||||
|
body=rnd.randint(0, p.max_body),
|
||||||
|
cislo_body=cisla[ci-1],
|
||||||
|
reseni=res,
|
||||||
|
problem=p
|
||||||
|
)
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
def gen_soustredeni(rnd, resitele, organizatori):
|
def gen_soustredeni(rnd, resitele, organizatori):
|
||||||
|
@ -251,10 +271,10 @@ def gen_konfery(rnd, reseni, organizatori, ucastnici, soustredeni):
|
||||||
return konfery
|
return konfery
|
||||||
|
|
||||||
def gen_cisla(rnd, rocniky):
|
def gen_cisla(rnd, rocniky):
|
||||||
slovnik_rocnik_cisla = {}
|
rocnik_cisla = []
|
||||||
for rocnik in rocniky:
|
for rocnik in rocniky:
|
||||||
otec = True
|
otec = True
|
||||||
slovnik_cisel = {}
|
cisla = []
|
||||||
cisel = rnd.randint(4, 8)
|
cisel = rnd.randint(4, 8)
|
||||||
node = None
|
node = None
|
||||||
for ci in range(1, cisel + 1):
|
for ci in range(1, cisel + 1):
|
||||||
|
@ -289,11 +309,11 @@ def gen_cisla(rnd, rocniky):
|
||||||
rocnik.rocniknode.first_child = node
|
rocnik.rocniknode.first_child = node
|
||||||
rocnik.save()
|
rocnik.save()
|
||||||
|
|
||||||
slovnik_cisel[ci] = cislo
|
cisla.append(cislo)
|
||||||
slovnik_rocnik_cisla[rocnik] = slovnik_cisel
|
rocnik_cisla.append(cisla)
|
||||||
return slovnik_rocnik_cisla
|
return rocnik_cisla
|
||||||
|
|
||||||
def gen_temata(rnd, rocniky, slovnik_rocnik_cisla, organizatori):
|
def gen_temata(rnd, rocniky, rocnik_cisla, organizatori):
|
||||||
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é",
|
||||||
"Plasmatické", "Novoroční"]
|
"Plasmatické", "Novoroční"]
|
||||||
|
@ -302,40 +322,41 @@ def gen_temata(rnd, rocniky, slovnik_rocnik_cisla, organizatori):
|
||||||
poc_oboru = rnd.randint(1, 2)
|
poc_oboru = rnd.randint(1, 2)
|
||||||
poc_op = rnd.randint(1, 3)
|
poc_op = rnd.randint(1, 3)
|
||||||
|
|
||||||
slovnik_rocnik_temata = {}
|
rocnik_temata = []
|
||||||
|
k = 0
|
||||||
for rocnik in rocniky:
|
for rocnik in rocniky:
|
||||||
n = 1
|
k+=1
|
||||||
temata = {}
|
n = 0
|
||||||
slovnik_cisel = slovnik_rocnik_cisla[rocnik]
|
temata = []
|
||||||
for ci in slovnik_cisel:
|
cisla = rocnik_cisla[k-1]
|
||||||
if ci <= 3:
|
for ci in range(1, 3):
|
||||||
t = Tema.objects.create(
|
n+=1
|
||||||
# atributy třídy Problem
|
t = Tema.objects.create(
|
||||||
nazev=" ".join([rnd.choice(jake), rnd.choice(co)]),
|
# atributy třídy Problem
|
||||||
stav=Problem.STAV_ZADANY,
|
nazev=" ".join([rnd.choice(jake), rnd.choice(co)]),
|
||||||
zamereni=rnd.sample(["M", "F", "I", "O", "B"], poc_oboru),
|
stav=Problem.STAV_ZADANY,
|
||||||
autor=rnd.choice(organizatori),
|
zamereni=rnd.sample(["M", "F", "I", "O", "B"], poc_oboru),
|
||||||
garant=rnd.choice(organizatori),
|
autor=rnd.choice(organizatori),
|
||||||
kod=str(n),
|
garant=rnd.choice(organizatori),
|
||||||
# atributy třídy Téma
|
kod=str(n),
|
||||||
tema_typ=rnd.choice(Tema.TEMA_CHOICES),
|
# atributy třídy Téma
|
||||||
rocnik=rocnik
|
tema_typ=rnd.choice(Tema.TEMA_CHOICES),
|
||||||
)
|
rocnik=rocnik
|
||||||
n+=1
|
)
|
||||||
konec_tematu = min(rnd.randint(ci, 7), len(slovnik_cisel))
|
konec_tematu = min(rnd.randint(ci, 7), len(cisla))
|
||||||
for i in range(ci, konec_tematu+1):
|
for i in range(ci, konec_tematu+1):
|
||||||
node = TemaVCisleNode.objects.create(tema = t)
|
node = TemaVCisleNode.objects.create(tema = t)
|
||||||
otec = slovnik_cisel[i].cislonode
|
otec = cisla[i-1].cislonode
|
||||||
otec_syn(otec, node)
|
otec_syn(otec, node)
|
||||||
|
|
||||||
t.opravovatele.set(rnd.sample(organizatori, poc_op))
|
t.opravovatele.set(rnd.sample(organizatori, poc_op))
|
||||||
t.save()
|
t.save()
|
||||||
temata[n] = (ci, konec_tematu, t)
|
temata.append((ci, konec_tematu, t))
|
||||||
slovnik_rocnik_temata[rocnik] = temata
|
rocnik_temata.append(temata)
|
||||||
return slovnik_rocnik_temata
|
return rocnik_temata
|
||||||
|
|
||||||
|
|
||||||
def gen_ulohy_k_tematum(rocniky, slovnik_rocnik_cisla, slovnik_rocnik_temata): #Tahle funkce je nedodělaná
|
def gen_ulohy_k_tematum(rnd, rocniky, rocnik_cisla, rocnik_temata, organizatori):
|
||||||
# ulohy resene v cisle
|
# ulohy resene v cisle
|
||||||
jaka = ["Šachová", "Černá", "Větrná", "Dlouhá", "Křehká", "Rychlá",
|
jaka = ["Šachová", "Černá", "Větrná", "Dlouhá", "Křehká", "Rychlá",
|
||||||
"Zákeřná", "Fyzikální"]
|
"Zákeřná", "Fyzikální"]
|
||||||
|
@ -354,19 +375,23 @@ def gen_ulohy_k_tematum(rocniky, slovnik_rocnik_cisla, slovnik_rocnik_temata): #
|
||||||
"netriviální aplikace diferenciálních rovnic", "zadání je vnitřně"
|
"netriviální aplikace diferenciálních rovnic", "zadání je vnitřně"
|
||||||
"sporné", "nepopsatelně jednoduché", "pokud jste na to nepřišli,"
|
"sporné", "nepopsatelně jednoduché", "pokud jste na to nepřišli,"
|
||||||
"tak jste fakt hloupí"]
|
"tak jste fakt hloupí"]
|
||||||
|
k = 0
|
||||||
for rocnik in rocniky:
|
for rocnik in rocniky:
|
||||||
slovnik_cisel = slovnik_rocnik_cisla[rocnik]
|
k+=1
|
||||||
slovnik_temat = slovnik_rocnik_temata[rocnik]
|
cisla = rocnik_cisla[k-1]
|
||||||
for ci in list(slovnik_cisel)[:-2]:
|
temata = rocnik_temata[k-1]
|
||||||
cislo = slovnik_cisel[ci]
|
for ci in range(len(cisla)):
|
||||||
|
cislo = cisla[ci-1]
|
||||||
mozna_tema_vcn = cislo.cislonode.first_child
|
mozna_tema_vcn = cislo.cislonode.first_child
|
||||||
while mozna_tema_vcn != None:
|
while mozna_tema_vcn != None:
|
||||||
if type(mozna_tema_vcn) != TemaVCisleNode:
|
if type(mozna_tema_vcn) != TemaVCisleNode:
|
||||||
|
mozna_tema_vcn = mozna_tema_vcn.succ
|
||||||
continue
|
continue
|
||||||
else:
|
else:
|
||||||
tema = mozna_tema_vcn.tema
|
tema = mozna_tema_vcn.tema
|
||||||
|
|
||||||
if not slovnik_temat[int(tema.kod)][1] >= ci+2: # Dnes, za přítomnosti dvou svědků Tomáš Domes slíbil, že tento slovník, ve kterém používá jako klíče přirozená čísla, přepíše na normální list. Budiž. Zde jsem také skončil 21. 6. léta Páně 2019 s první vlnou debugování. Bože žehnej těm, kteří toto debugovací břímě převezmou.
|
if not temata[int(tema.kod)-1][1] >= ci+2:
|
||||||
|
mozna_tema_vcn = mozna_tema_vcn.succ
|
||||||
continue
|
continue
|
||||||
|
|
||||||
for i in range(1, rnd.randint(1, 4)):
|
for i in range(1, rnd.randint(1, 4)):
|
||||||
|
@ -380,18 +405,35 @@ def gen_ulohy_k_tematum(rocniky, slovnik_rocnik_cisla, slovnik_rocnik_temata): #
|
||||||
zamereni=tema.zamereni,
|
zamereni=tema.zamereni,
|
||||||
autor=tema.autor,
|
autor=tema.autor,
|
||||||
garant=tema.garant,
|
garant=tema.garant,
|
||||||
opravovatele=rnd.sample(organizatori, poc_op),
|
|
||||||
kod=str(i),
|
kod=str(i),
|
||||||
cislo_zadani=cislo,
|
cislo_zadani=cislo,
|
||||||
cislo_reseni=slovnik_cisel[ci+2],
|
cislo_reseni=cisla[ci+2-1],
|
||||||
cislo_deadline=slovnik_cisel[ci+2],
|
cislo_deadline=cisla[ci+2-1],
|
||||||
max_body = rnd.randint(1, 8)
|
max_body = rnd.randint(1, 8)
|
||||||
)
|
)
|
||||||
p.zadani = " ".join([rnd.choice(sloveso), rnd.choice(koho),
|
|
||||||
rnd.choice(ceho), rnd.choice(jmeno), rnd.choice(kde)])
|
p.opravovatele.set(rnd.sample(organizatori, poc_op))
|
||||||
uloha_zadani = UlohaZadaniNode.objects.create(uloha=p)
|
|
||||||
p.UlohaZadaniNode = uloha_zadani
|
text_zadani = Text.objects.create(
|
||||||
otec_syn(mozna_tema_vcn, uloha_zadani)
|
na_web = " ".join(
|
||||||
|
[rnd.choice(sloveso),
|
||||||
|
rnd.choice(koho),
|
||||||
|
rnd.choice(ceho),
|
||||||
|
rnd.choice(jmeno),
|
||||||
|
rnd.choice(kde)]
|
||||||
|
),
|
||||||
|
do_cisla = " ".join(
|
||||||
|
[rnd.choice(sloveso),
|
||||||
|
rnd.choice(koho),
|
||||||
|
rnd.choice(ceho),
|
||||||
|
rnd.choice(jmeno),
|
||||||
|
rnd.choice(kde)]
|
||||||
|
)
|
||||||
|
)
|
||||||
|
zad = TextNode.objects.create(text = text_zadani)
|
||||||
|
uloha_zadani = UlohaZadaniNode.objects.create(uloha=p, first_child = zad)
|
||||||
|
p.ulohazadaninode = uloha_zadani
|
||||||
|
otec_syn(mozna_tema_vcn, uloha_zadani) # TODO dělá se podproblém takto??? TODO
|
||||||
|
|
||||||
text_vzoraku = Text.objects.create(
|
text_vzoraku = Text.objects.create(
|
||||||
na_web = rnd.choice(reseni),
|
na_web = rnd.choice(reseni),
|
||||||
|
@ -400,8 +442,7 @@ def gen_ulohy_k_tematum(rocniky, slovnik_rocnik_cisla, slovnik_rocnik_temata): #
|
||||||
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
|
||||||
#res_tema_vcn =
|
res_tema_vcn = cisla[ci+2-1].cislonode.first_child
|
||||||
res_tema_vcn = slovnik_cisel[ci+2].CisloNode.first_child
|
|
||||||
while res_tema_vcn.tema != tema:
|
while res_tema_vcn.tema != tema:
|
||||||
res_tema_vcn = res_tema_vcn.succ
|
res_tema_vcn = res_tema_vcn.succ
|
||||||
otec_syn(res_tema_vcn, uloha_vzorak)
|
otec_syn(res_tema_vcn, uloha_vzorak)
|
||||||
|
@ -409,6 +450,7 @@ def gen_ulohy_k_tematum(rocniky, slovnik_rocnik_cisla, slovnik_rocnik_temata): #
|
||||||
p.save()
|
p.save()
|
||||||
|
|
||||||
mozna_tema_vcn = mozna_tema_vcn.succ
|
mozna_tema_vcn = mozna_tema_vcn.succ
|
||||||
|
return
|
||||||
|
|
||||||
def otec_syn(otec, syn):
|
def otec_syn(otec, syn):
|
||||||
bratr = otec.first_child
|
bratr = otec.first_child
|
||||||
|
@ -428,6 +470,7 @@ def create_test_data(size = 6, rnd = None):
|
||||||
s = Site.objects.filter(name="example.com")
|
s = Site.objects.filter(name="example.com")
|
||||||
f = FlatPage.objects.create(url="/", title="Seminář M&M",
|
f = FlatPage.objects.create(url="/", title="Seminář M&M",
|
||||||
content = "<p>Vítejte na stránce semináře MaM!</p>")
|
content = "<p>Vítejte na stránce semináře MaM!</p>")
|
||||||
|
print(s)
|
||||||
f.sites.add(s[0])
|
f.sites.add(s[0])
|
||||||
f.save()
|
f.save()
|
||||||
|
|
||||||
|
@ -466,20 +509,17 @@ def create_test_data(size = 6, rnd = None):
|
||||||
rocniky = gen_rocniky(last_rocnik, size)
|
rocniky = gen_rocniky(last_rocnik, size)
|
||||||
|
|
||||||
# cisla
|
# cisla
|
||||||
slovnik_rocnik_cisla = gen_cisla(rnd, rocniky)
|
rocnik_cisla = gen_cisla(rnd, rocniky)
|
||||||
|
|
||||||
# generování obyčejných úloh do čísel
|
# generování obyčejných úloh do čísel
|
||||||
for rocnik in rocniky:
|
gen_ulohy_do_cisla(rnd, organizatori, resitele, rocnik_cisla, rocniky, size)
|
||||||
slovnik_cisel = slovnik_rocnik_cisla[rocnik]
|
|
||||||
for ci in slovnik_cisel:
|
|
||||||
gen_ulohy_do_cisla(rnd, ci, organizatori, resitele, slovnik_cisel, size)
|
|
||||||
|
|
||||||
# generování témat, zatím v prvních třech číslech po jednom
|
# generování témat, zatím v prvních třech číslech po jednom
|
||||||
# FIXME: více témat
|
# FIXME: více témat
|
||||||
slovnik_rocnik_temata = gen_temata(rnd, rocniky, slovnik_rocnik_cisla, organizatori)
|
rocnik_temata = gen_temata(rnd, rocniky, rocnik_cisla, organizatori)
|
||||||
|
|
||||||
# generování úloh k tématům ve všech číslech
|
# generování úloh k tématům ve všech číslech
|
||||||
gen_ulohy_k_tematum(rocniky, slovnik_rocnik_cisla, slovnik_rocnik_temata)
|
gen_ulohy_k_tematum(rnd, rocniky, rocnik_cisla, rocnik_temata, organizatori)
|
||||||
|
|
||||||
# FIXME: misto typu ruzne typy objektu a vnoreni do sebe
|
# FIXME: misto typu ruzne typy objektu a vnoreni do sebe
|
||||||
# TODO: vytvorit temata s ruznymi vlakny
|
# TODO: vytvorit temata s ruznymi vlakny
|
||||||
|
|
Loading…
Reference in a new issue