Testdata: Generujeme jeden článek
This commit is contained in:
parent
cad478cd99
commit
443f05bddc
1 changed files with 73 additions and 0 deletions
|
@ -681,6 +681,77 @@ def otec_syn(otec, syn):
|
||||||
syn.save()
|
syn.save()
|
||||||
otec.save()
|
otec.save()
|
||||||
|
|
||||||
|
def gen_clanek(rnd):
|
||||||
|
logger.info("Generuji článek do čísla 22.2")
|
||||||
|
clanek = m.Clanek.objects.create(
|
||||||
|
nazev="Článek o Lorem ipsum",
|
||||||
|
nadproblem=None,
|
||||||
|
stav='vyreseny',
|
||||||
|
zamereni=['I'],
|
||||||
|
garant=rnd.choice(m.Organizator.objects.all()),
|
||||||
|
kod='cl',
|
||||||
|
)
|
||||||
|
clanek.save()
|
||||||
|
|
||||||
|
reseni = m.Reseni.objects.create(
|
||||||
|
zverejneno=True,
|
||||||
|
)
|
||||||
|
reseni.resitele.add(rnd.choice(m.Resitel.objects.all()))
|
||||||
|
reseni.save()
|
||||||
|
|
||||||
|
cislo = m.Cislo.objects.get(rocnik__rocnik=22, poradi=2)
|
||||||
|
cislonode = cislo.cislonode
|
||||||
|
|
||||||
|
hodnoceni = m.Hodnoceni.objects.create(
|
||||||
|
body=15.0,
|
||||||
|
cislo_body=cislo,
|
||||||
|
reseni=reseni,
|
||||||
|
problem=clanek,
|
||||||
|
)
|
||||||
|
hodnoceni.save()
|
||||||
|
|
||||||
|
reseninode = m.ReseniNode.objects.create(
|
||||||
|
reseni=reseni
|
||||||
|
)
|
||||||
|
reseninode.save()
|
||||||
|
|
||||||
|
# Bude to celý text
|
||||||
|
reseni.text_cely = reseninode
|
||||||
|
reseni.save()
|
||||||
|
|
||||||
|
from seminar.treelib import insert_last_child, create_child
|
||||||
|
insert_last_child(cislonode, reseninode)
|
||||||
|
|
||||||
|
# Vyrobíme nějaký obsah
|
||||||
|
# FIXME: Ten, kdo vymyslel TreeLib (mj. týž, kdo psal tenhle kód),
|
||||||
|
# nevyrobil vhodnou funkci, takže to postavíme pozpátku pomocí create_child
|
||||||
|
# (které vyrábí _prvního_ syna)
|
||||||
|
create_child(reseninode, m.CastNode, nadpis="Lorem ipsum")
|
||||||
|
# Taky ten člověk nevyrobil vracení nových věcí...
|
||||||
|
castnode = reseninode.first_child
|
||||||
|
|
||||||
|
# Úvodní odstaveček
|
||||||
|
obsah = "Tohle je zamyšlení o textu lorem ipsum. Začneme a skončíme ukázkou."
|
||||||
|
text = m.Text.objects.create(
|
||||||
|
na_web=obsah,
|
||||||
|
do_cisla=obsah,
|
||||||
|
)
|
||||||
|
text.save()
|
||||||
|
create_child(reseninode, m.TextNode, text=text)
|
||||||
|
|
||||||
|
# Několik odstavců lorem ipsum
|
||||||
|
for _ in range(rnd.randint(3, 7)):
|
||||||
|
lipsum = lorem.paragraph()
|
||||||
|
text = m.Text.objects.create(
|
||||||
|
na_web=lipsum,
|
||||||
|
do_cisla=lipsum,
|
||||||
|
)
|
||||||
|
text.save()
|
||||||
|
create_child(castnode, m.TextNode, text=text)
|
||||||
|
logger.info(f"Článek vygenerován (reseni={reseni.id}, treenode={reseninode.id})")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@transaction.atomic
|
@transaction.atomic
|
||||||
def create_test_data(size = 6, rnd = None):
|
def create_test_data(size = 6, rnd = None):
|
||||||
logger.info('Vyrábím testovací data (size={})...'.format(size))
|
logger.info('Vyrábím testovací data (size={})...'.format(size))
|
||||||
|
@ -768,6 +839,8 @@ def create_test_data(size = 6, rnd = None):
|
||||||
# TODO: mezičíslo node
|
# TODO: mezičíslo node
|
||||||
# TODO: přidat ke konferám řešení a dát je do čísel
|
# TODO: přidat ke konferám řešení a dát je do čísel
|
||||||
|
|
||||||
|
# Dohackované vytvoření jednoho článku
|
||||||
|
gen_clanek(rnd)
|
||||||
|
|
||||||
|
|
||||||
# obecné nastavení semináře, musí být už přidané ročníky a čísla, jinak se nastaví divně
|
# obecné nastavení semináře, musí být už přidané ročníky a čísla, jinak se nastaví divně
|
||||||
|
|
Loading…
Reference in a new issue