Browse Source

testutils.py: drobné změny

export_seznamu_prednasek
Tomáš Domes 6 years ago
parent
commit
d93e8bfc6d
  1. 102
      seminar/testutils.py

102
seminar/testutils.py

@ -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, RocnikNode 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
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
@ -148,7 +148,7 @@ def gen_ulohy_do_cisla(rnd, cislo, organizatori, resitele, slovnik_cisel, size):
"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í"]
if cislo >= 3: if cislo >= 3: #TODO nagenerovat i nody!!!
for pi in range(1, ((size + 1) // 2) + 1): for pi in range(1, ((size + 1) // 2) + 1):
poc_op = rnd.randint(1, 4) # počet opravovatelů poc_op = rnd.randint(1, 4) # počet opravovatelů
poc_oboru = rnd.randint(1, 2) poc_oboru = rnd.randint(1, 2)
@ -368,52 +368,53 @@ 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 cislo in slovnik_cisel: for cislo in slovnik_cisel:
syn = cislo.CisloNode.first_child syn = cislo.CisloNode.first_child
while syn != None: while syn != None:
tema = syn.tema if type(syn) != TemaVCisleNode
for i in range(1, rnd.randint(1, 4)) continue
poc_op = rnd.randint(1, 4) else:
poc_oboru = rnd.randint(1, 2) tema = syn.tema
p = Uloha.objects.create( for i in range(1, rnd.randint(1, 4))
nazev=": ".join([tema.nazev, poc_op = rnd.randint(1, 4)
"úloha {}.".format(i)]), poc_oboru = rnd.randint(1, 2)
nadproblem=tema, p = Uloha.objects.create(
stav=Problem.STAV_ZADANY, nazev=": ".join([tema.nazev,
zamereni=tema.zamereni, "úloha {}.".format(i)]),
autor=tema.autor, nadproblem=tema,
garant=tema.garant, stav=Problem.STAV_ZADANY,
opravovatele=rnd.sample(organizatori, poc_op), zamereni=tema.zamereni,
kod=str(i), autor=tema.autor,
cislo_zadani=cislo, garant=tema.garant,
cislo_reseni=slovnik_cisel[cislo.cislo+2], opravovatele=rnd.sample(organizatori, poc_op),
cislo_deadline=slovnik_cisel[cislo.cislo+2], kod=str(i),
max_body = rnd.randint(1, 8) cislo_zadani=cislo,
) cislo_reseni=slovnik_cisel[cislo.cislo+2],
p.zadani = " ".join([rnd.choice(sloveso), rnd.choice(koho), cislo_deadline=slovnik_cisel[cislo.cislo+2],
rnd.choice(ceho), rnd.choice(jmeno), rnd.choice(kde)]) max_body = rnd.randint(1, 8)
)
#Tomův pokus o opravu bugu: p.zadani = " ".join([rnd.choice(sloveso), rnd.choice(koho),
text_vzoraku = Text.objects.create( rnd.choice(ceho), rnd.choice(jmeno), rnd.choice(kde)])
na_web = rnd.choice(reseni),
do_cisla = rnd.choice(reseni) text_vzoraku = Text.objects.create(
) na_web = rnd.choice(reseni),
vzorak = TextNode.objects.create(text = text_vzoraku) do_cisla = rnd.choice(reseni)
uloha_vzorak = UlohaVzorakNode.objects.create(uloha=p, first_child = vzorak) )
p.UlohaVzorakNode = uloha_vzorak vzorak = TextNode.objects.create(text = text_vzoraku)
uloha_vzorak = UlohaVzorakNode.objects.create(uloha=p, first_child = vzorak)
#p.vzorak = " - ".join([p.zadani, rnd.choice(reseni)]) p.UlohaVzorakNode = uloha_vzorak
p.save() p.save()
syn = syn.succ
syn = syn.succ
# vytvor text
# vytvor TemaVCisleNode # vytvor text
if (rnd.randint(1, 3) % 3 == 0): # vytvor TemaVCisleNode
# vytvor mezicislo Node if (rnd.randint(1, 3) % 3 == 0):
pass # vytvor mezicislo Node
pass
@transaction.atomic @transaction.atomic
def create_test_data(size = 6, rnd = None): def create_test_data(size = 6, rnd = None):
@ -482,11 +483,6 @@ def create_test_data(size = 6, rnd = None):
# 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)
# nagenerovat k tématu úlohy a Nody pro vsechna cisla
# 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
# TODO: nagenerovat starsim rocnikum pohadku # TODO: nagenerovat starsim rocnikum pohadku

Loading…
Cancel
Save