From 3e2238a3e19b587d8cb486c177d9fff6681ff9c2 Mon Sep 17 00:00:00 2001 From: Pavel 'LEdoian' Turinsky Date: Wed, 26 Feb 2020 21:10:54 +0100 Subject: [PATCH] =?UTF-8?q?Koment=C3=A1=C5=99e=20a=20=C3=BAprava=20gen=5Ft?= =?UTF-8?q?emata?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- seminar/testutils.py | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/seminar/testutils.py b/seminar/testutils.py index 2808d1eb..e1b3d6d8 100644 --- a/seminar/testutils.py +++ b/seminar/testutils.py @@ -390,17 +390,15 @@ def gen_temata(rnd, rocniky, rocnik_cisla, organizatori): co = ["téma", "záření", "stavení", "jiskření", "jelito", "drama", "kuře", "moře", "klání", "proudění", "čekání"] poc_oboru = rnd.randint(1, 2) - poc_op = rnd.randint(1, 3) rocnik_temata = [] - k = 0 - for rocnik in rocniky: - k+=1 - n = 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, cisla in zip(rocniky, rocnik_cisla): + kod = 1 temata = [] - cisla = rocnik_cisla[k-1] - for ci in range(1, 3): - n+=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 zacatek_tematu in range(1, 3): + # Vygenerujeme téma t = Tema.objects.create( # atributy třídy Problem 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), autor=rnd.choice(organizatori), garant=rnd.choice(organizatori), - kod=str(n), + kod=str(kod), # atributy třídy Téma tema_typ=rnd.choice(Tema.TEMA_CHOICES)[0], rocnik=rocnik, - abstrakt = "Abstrakt tematka {}".format(n) + abstrakt = "Abstrakt tematka {}".format(kod) ) - konec_tematu = min(rnd.randint(ci, 7), len(cisla)) - for i in range(ci, konec_tematu+1): + kod += 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) otec = cisla[i-1].cislonode 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() - temata.append((ci, konec_tematu, t)) + temata.append((zacatek_tematu, konec_tematu, t)) rocnik_temata.append(temata) return rocnik_temata