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
|
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
|
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.flatpages.models import FlatPage
|
||||||
from django.contrib.sites.models import Site
|
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
|
p.ulohavzoraknode = uloha_vzorak
|
||||||
|
|
||||||
|
|
||||||
for org in rnd.sample(organizatori, poc_op):
|
p.opravovatele.set(rnd.sample(organizatori,poc_op))
|
||||||
p.opravovatele_ulohas.objects.create(org)
|
|
||||||
# p.opravovatele.set(rnd.sample(organizatori,poc_op))
|
|
||||||
p.save()
|
p.save()
|
||||||
|
|
||||||
# reseni ulohy
|
# 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á?
|
#poc_resitel = rnd.randint(1, 3) <- k čemu je himbajs tahle proměnná?
|
||||||
# vybereme nahodny vzorek resitelu o delce poctu reseni
|
# vybereme nahodny vzorek resitelu o delce poctu reseni
|
||||||
# (nebo skoro vsechny resitele, pokud jich je mene nez pocet reseni)
|
# (nebo skoro vsechny resitele, pokud jich je mene nez pocet reseni)
|
||||||
res_vyber = rnd.sample(resitele, min(poc_reseni, len(resitele) - 2))
|
for ri in range(poc_reseni):
|
||||||
for resitel in res_vyber:
|
res_vyber = rnd.sample(resitele, rnd.randint(1, 5))
|
||||||
# problem a resitele přiřadíme později, ManyToManyField
|
# problem a resitele přiřadíme později, ManyToManyField
|
||||||
# se nedá vyplnit v create()
|
# se nedá vyplnit v create()
|
||||||
res = Reseni.objects.create(forma=rnd.choice(Reseni.FORMA_CHOICES))
|
res = Reseni.objects.create(forma=rnd.choice(Reseni.FORMA_CHOICES))
|
||||||
res.resitele = [resitel]
|
|
||||||
res.problem = p
|
|
||||||
res.save()
|
res.save()
|
||||||
hod = Hodnoceni.objects.create(
|
hod = Hodnoceni.objects.create(
|
||||||
body=rnd.randint(0, p.max_body),
|
body=rnd.randint(0, p.max_body),
|
||||||
|
@ -286,6 +282,7 @@ def gen_cisla(rnd, rocniky):
|
||||||
verejne_db=True
|
verejne_db=True
|
||||||
)
|
)
|
||||||
node2 = CisloNode.objects.create(cislo = cislo, succ = node)
|
node2 = CisloNode.objects.create(cislo = cislo, succ = node)
|
||||||
|
cislo.save()
|
||||||
node = node2
|
node = node2
|
||||||
if otec:
|
if otec:
|
||||||
otec = False
|
otec = False
|
||||||
|
@ -296,7 +293,7 @@ def gen_cisla(rnd, rocniky):
|
||||||
slovnik_rocnik_cisla[rocnik] = slovnik_cisel
|
slovnik_rocnik_cisla[rocnik] = slovnik_cisel
|
||||||
return slovnik_rocnik_cisla
|
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í",
|
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í"]
|
||||||
|
@ -328,13 +325,14 @@ def gen_temata(rocniky, slovnik_rocnik_cisla):
|
||||||
konec_tematu = min(rnd.randint(ci, 7), len(slovnik_cisel))
|
konec_tematu = min(rnd.randint(ci, 7), len(slovnik_cisel))
|
||||||
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 = slovnik_cisel[i].cislonode
|
||||||
otec_syn(otec, node)
|
otec_syn(otec, node)
|
||||||
|
|
||||||
t.opravovatele=rnd.sample(organizatori, poc_op)
|
t.opravovatele.set(rnd.sample(organizatori, poc_op))
|
||||||
t.save()
|
t.save()
|
||||||
temata[n] = (ci, konec_tematu, t)
|
temata[n] = (ci, konec_tematu, t)
|
||||||
slovnik_rocnik_temata[rocnik] = temata
|
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á
|
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:
|
for rocnik in rocniky:
|
||||||
slovnik_cisel = slovnik_rocnik_cisla[rocnik]
|
slovnik_cisel = slovnik_rocnik_cisla[rocnik]
|
||||||
slovnik_temat = slovnik_rocnik_temata[rocnik]
|
slovnik_temat = slovnik_rocnik_temata[rocnik]
|
||||||
for ci, cislo in slovnik_cisel.items()[:-2]:
|
for ci in list(slovnik_cisel)[:-2]:
|
||||||
mozna_tema_vcn = cislo.CisloNode.first_child
|
cislo = slovnik_cisel[ci]
|
||||||
|
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:
|
||||||
continue
|
continue
|
||||||
else:
|
else:
|
||||||
tema = mozna_tema_vcn.tema
|
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
|
continue
|
||||||
|
|
||||||
for i in range(1, rnd.randint(1, 4)):
|
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
|
# 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(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
|
# 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(rocniky, slovnik_rocnik_cisla, slovnik_rocnik_temata)
|
||||||
|
|
Loading…
Reference in a new issue