Dnes, za přítomnosti dvou svědků Tomáš Domes slíbil, že slovník v testutils.py, 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.
This commit is contained in:
parent
7c14bf4100
commit
49f5ce3d91
1 changed files with 14 additions and 15 deletions
|
@ -7,7 +7,7 @@ import django.contrib.auth
|
|||
from django.db import transaction
|
||||
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
|
||||
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 django.contrib.flatpages.models import FlatPage
|
||||
from django.contrib.sites.models import Site
|
||||
|
@ -178,9 +178,7 @@ def gen_ulohy_do_cisla(rnd, ci, organizatori, resitele, slovnik_cisel, size):
|
|||
p.ulohavzoraknode = uloha_vzorak
|
||||
|
||||
|
||||
for org in rnd.sample(organizatori, poc_op):
|
||||
p.opravovatele_ulohas.objects.create(org)
|
||||
# p.opravovatele.set(rnd.sample(organizatori,poc_op))
|
||||
p.opravovatele.set(rnd.sample(organizatori,poc_op))
|
||||
p.save()
|
||||
|
||||
# reseni ulohy
|
||||
|
@ -188,13 +186,11 @@ def gen_ulohy_do_cisla(rnd, ci, organizatori, resitele, slovnik_cisel, size):
|
|||
#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)
|
||||
res_vyber = rnd.sample(resitele, min(poc_reseni, len(resitele) - 2))
|
||||
for resitel in res_vyber:
|
||||
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.resitele = [resitel]
|
||||
res.problem = p
|
||||
res.save()
|
||||
hod = Hodnoceni.objects.create(
|
||||
body=rnd.randint(0, p.max_body),
|
||||
|
@ -286,6 +282,7 @@ def gen_cisla(rnd, rocniky):
|
|||
verejne_db=True
|
||||
)
|
||||
node2 = CisloNode.objects.create(cislo = cislo, succ = node)
|
||||
cislo.save()
|
||||
node = node2
|
||||
if otec:
|
||||
otec = False
|
||||
|
@ -296,7 +293,7 @@ def gen_cisla(rnd, rocniky):
|
|||
slovnik_rocnik_cisla[rocnik] = slovnik_cisel
|
||||
return slovnik_rocnik_cisla
|
||||
|
||||
def gen_temata(rocniky, slovnik_rocnik_cisla):
|
||||
def gen_temata(rnd, rocniky, slovnik_rocnik_cisla, organizatori):
|
||||
jake = ["Hravé", "Fyzikální", "Nejlepší", "Totálně masakrální",
|
||||
"Šokující", "Magnetické", "Modré", "Překvapivé",
|
||||
"Plasmatické", "Novoroční"]
|
||||
|
@ -328,13 +325,14 @@ def gen_temata(rocniky, slovnik_rocnik_cisla):
|
|||
konec_tematu = min(rnd.randint(ci, 7), len(slovnik_cisel))
|
||||
for i in range(ci, konec_tematu+1):
|
||||
node = TemaVCisleNode.objects.create(tema = t)
|
||||
otec = slovnik_cisel[i].CisloNode
|
||||
otec = slovnik_cisel[i].cislonode
|
||||
otec_syn(otec, node)
|
||||
|
||||
t.opravovatele=rnd.sample(organizatori, poc_op)
|
||||
t.opravovatele.set(rnd.sample(organizatori, poc_op))
|
||||
t.save()
|
||||
temata[n] = (ci, konec_tematu, t)
|
||||
slovnik_rocnik_temata[rocnik] = temata
|
||||
return slovnik_rocnik_temata
|
||||
|
||||
|
||||
def gen_ulohy_k_tematum(rocniky, slovnik_rocnik_cisla, slovnik_rocnik_temata): #Tahle funkce je nedodělaná
|
||||
|
@ -359,15 +357,16 @@ def gen_ulohy_k_tematum(rocniky, slovnik_rocnik_cisla, slovnik_rocnik_temata): #
|
|||
for rocnik in rocniky:
|
||||
slovnik_cisel = slovnik_rocnik_cisla[rocnik]
|
||||
slovnik_temat = slovnik_rocnik_temata[rocnik]
|
||||
for ci, cislo in slovnik_cisel.items()[:-2]:
|
||||
mozna_tema_vcn = cislo.CisloNode.first_child
|
||||
for ci in list(slovnik_cisel)[:-2]:
|
||||
cislo = slovnik_cisel[ci]
|
||||
mozna_tema_vcn = cislo.cislonode.first_child
|
||||
while mozna_tema_vcn != None:
|
||||
if type(mozna_tema_vcn) != TemaVCisleNode:
|
||||
continue
|
||||
else:
|
||||
tema = mozna_tema_vcn.tema
|
||||
|
||||
if not slovnik_temat[int(tema.kod)][1] >= ci+2:
|
||||
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.
|
||||
continue
|
||||
|
||||
for i in range(1, rnd.randint(1, 4)):
|
||||
|
@ -477,7 +476,7 @@ def create_test_data(size = 6, rnd = None):
|
|||
|
||||
# generování témat, zatím v prvních třech číslech po jednom
|
||||
# FIXME: více témat
|
||||
slovnik_rocnik_temata = gen_temata(rocniky, slovnik_rocnik_cisla)
|
||||
slovnik_rocnik_temata = gen_temata(rnd, rocniky, slovnik_rocnik_cisla, organizatori)
|
||||
|
||||
# generování úloh k tématům ve všech číslech
|
||||
gen_ulohy_k_tematum(rocniky, slovnik_rocnik_cisla, slovnik_rocnik_temata)
|
||||
|
|
Loading…
Reference in a new issue