|
@ -390,17 +390,15 @@ def gen_temata(rnd, rocniky, rocnik_cisla, organizatori): |
|
|
co = ["téma", "záření", "stavení", "jiskření", "jelito", |
|
|
co = ["téma", "záření", "stavení", "jiskření", "jelito", |
|
|
"drama", "kuře", "moře", "klání", "proudění", "čekání"] |
|
|
"drama", "kuře", "moře", "klání", "proudění", "čekání"] |
|
|
poc_oboru = rnd.randint(1, 2) |
|
|
poc_oboru = rnd.randint(1, 2) |
|
|
poc_op = rnd.randint(1, 3) |
|
|
|
|
|
|
|
|
|
|
|
rocnik_temata = [] |
|
|
rocnik_temata = [] |
|
|
k = 0 |
|
|
# Věříme, že rocnik_cisla je pole polí čísel podle ročníků, tak si necháme dát vždycky jeden ročník a k němu příslušná čísla. |
|
|
for rocnik in rocniky: |
|
|
for rocnik, cisla in zip(rocniky, rocnik_cisla): |
|
|
k+=1 |
|
|
kod = 1 |
|
|
n = 0 |
|
|
|
|
|
temata = [] |
|
|
temata = [] |
|
|
cisla = rocnik_cisla[k-1] |
|
|
# Do každého ročníku vymyslíme tři (zatím) témata, v každém z prvních čísel jedno |
|
|
for ci in range(1, 3): |
|
|
for zacatek_tematu in range(1, 3): |
|
|
n+=1 |
|
|
# Vygenerujeme téma |
|
|
t = Tema.objects.create( |
|
|
t = Tema.objects.create( |
|
|
# atributy třídy Problem |
|
|
# atributy třídy Problem |
|
|
nazev=" ".join([rnd.choice(jake), rnd.choice(co)]), |
|
|
nazev=" ".join([rnd.choice(jake), rnd.choice(co)]), |
|
@ -408,21 +406,30 @@ def gen_temata(rnd, rocniky, rocnik_cisla, organizatori): |
|
|
zamereni=rnd.sample(["M", "F", "I", "O", "B"], poc_oboru), |
|
|
zamereni=rnd.sample(["M", "F", "I", "O", "B"], poc_oboru), |
|
|
autor=rnd.choice(organizatori), |
|
|
autor=rnd.choice(organizatori), |
|
|
garant=rnd.choice(organizatori), |
|
|
garant=rnd.choice(organizatori), |
|
|
kod=str(n), |
|
|
kod=str(kod), |
|
|
# atributy třídy Téma |
|
|
# atributy třídy Téma |
|
|
tema_typ=rnd.choice(Tema.TEMA_CHOICES)[0], |
|
|
tema_typ=rnd.choice(Tema.TEMA_CHOICES)[0], |
|
|
rocnik=rocnik, |
|
|
rocnik=rocnik, |
|
|
abstrakt = "Abstrakt tematka {}".format(n) |
|
|
abstrakt = "Abstrakt tematka {}".format(kod) |
|
|
) |
|
|
) |
|
|
konec_tematu = min(rnd.randint(ci, 7), len(cisla)) |
|
|
kod += 1 |
|
|
for i in range(ci, konec_tematu+1): |
|
|
|
|
|
|
|
|
# Vymyslíme, kdy skončí |
|
|
|
|
|
konec_tematu = min(rnd.randint(zacatek_tematu, 7), len(cisla)) |
|
|
|
|
|
|
|
|
|
|
|
# Vyrobíme TemaVCisleNody pro obsah |
|
|
|
|
|
for i in range(zacatek_tematu, konec_tematu+1): |
|
|
node = TemaVCisleNode.objects.create(tema = t) |
|
|
node = TemaVCisleNode.objects.create(tema = t) |
|
|
otec = cisla[i-1].cislonode |
|
|
otec = cisla[i-1].cislonode |
|
|
otec_syn(otec, node) |
|
|
otec_syn(otec, node) |
|
|
|
|
|
|
|
|
t.opravovatele.set(rnd.sample(organizatori, poc_op)) |
|
|
# Vymyslíme, kdo to bude opravovat |
|
|
|
|
|
poc_opravovatelu = rnd.randint(1, 3) |
|
|
|
|
|
t.opravovatele.set(rnd.sample(organizatori, poc_opravovatelu)) |
|
|
|
|
|
|
|
|
|
|
|
# Uložíme všechno |
|
|
t.save() |
|
|
t.save() |
|
|
temata.append((ci, konec_tematu, t)) |
|
|
temata.append((zacatek_tematu, konec_tematu, t)) |
|
|
rocnik_temata.append(temata) |
|
|
rocnik_temata.append(temata) |
|
|
return rocnik_temata |
|
|
return rocnik_temata |
|
|
|
|
|
|
|
|