@ -219,8 +219,8 @@ def gen_zadani_ulohy(rnd, cisla, organizatori, pocet_oboru, poradi_cisla, poradi
na_web = text ,
na_web = text ,
do_cisla = text ,
do_cisla = text ,
)
)
zad = TextNode . objects . create ( text = text_zadani )
zad = TextNode . objects . create ( text = text_zadani , root = p . cislo_zadani . rocnik . rocniknode )
uloha_zadani = UlohaZadaniNode . objects . create ( uloha = p , first_child = zad )
uloha_zadani = UlohaZadaniNode . objects . create ( uloha = p , first_child = zad , root = p . cislo_zadani . rocnik . rocniknode )
p . ulohazadaninode = uloha_zadani
p . ulohazadaninode = uloha_zadani
otec_syn ( cisla [ poradi_cisla - 2 - 1 ] . cislonode , uloha_zadani )
otec_syn ( cisla [ poradi_cisla - 2 - 1 ] . cislonode , uloha_zadani )
@ -241,8 +241,8 @@ def gen_vzoroveho_reseni_ulohy(rnd, organizatori, uloha, pocet_opravovatelu):
na_web = obsah ,
na_web = obsah ,
do_cisla = obsah
do_cisla = obsah
)
)
vzorak = TextNode . objects . create ( text = text_vzoraku )
vzorak = TextNode . objects . create ( text = text_vzoraku , root = uloha . cislo_zadani . rocnik . rocniknode )
uloha_vzorak = UlohaVzorakNode . objects . create ( uloha = uloha , first_child = vzorak )
uloha_vzorak = UlohaVzorakNode . objects . create ( uloha = uloha , first_child = vzorak , root = uloha . cislo_zadani . rocnik . rocniknode )
uloha . ulohavzoraknode = uloha_vzorak
uloha . ulohavzoraknode = uloha_vzorak
uloha . opravovatele . set ( rnd . sample ( organizatori , pocet_opravovatelu ) )
uloha . opravovatele . set ( rnd . sample ( organizatori , pocet_opravovatelu ) )
@ -409,7 +409,7 @@ def gen_cisla(rnd, rocniky):
datum_deadline = deadline ,
datum_deadline = deadline ,
verejne_db = True
verejne_db = True
)
)
node2 = CisloNode . objects . create ( cislo = cislo , succ = node )
node2 = CisloNode . objects . create ( cislo = cislo , succ = node , root = rocnik . rocniknode )
cislo . save ( )
cislo . save ( )
node = node2
node = node2
if otec :
if otec :
@ -448,54 +448,54 @@ def gen_dlouhe_tema(rnd, organizatori, rocnik, nazev, obor, kod):
for cislo in cisla :
for cislo in cisla :
# Přidáme TemaVCisleNode do daného čísla
# Přidáme TemaVCisleNode do daného čísla
cislo_node = cislo . cislonode
cislo_node = cislo . cislonode
tema_cislo_node = TemaVCisleNode . objects . create ( tema = tema )
tema_cislo_node = TemaVCisleNode . objects . create ( tema = tema , root = cislo_node . root )
insert_last_child ( cislo_node , tema_cislo_node )
insert_last_child ( cislo_node , tema_cislo_node )
# Přidávání obsahu do čísla
# Přidávání obsahu do čísla
cast_node = m . CastNode . objects . create ( nadpis = " Příspěvek k číslu {} " . format ( cislo . kod ) )
cast_node = m . CastNode . objects . create ( nadpis = " Příspěvek k číslu {} " . format ( cislo . kod ) , root = cislo_node . root )
add_first_child ( tema_cislo_node , cast_node )
add_first_child ( tema_cislo_node , cast_node )
text_node = TextNode . objects . create ( text = get_text ( ) )
text_node = TextNode . objects . create ( text = get_text ( ) , root = cislo_node . root )
add_first_child ( cast_node , text_node )
add_first_child ( cast_node , text_node )
cast_node2 = m . CastNode . objects . create ( nadpis = " První podproblém " )
cast_node2 = m . CastNode . objects . create ( nadpis = " První podproblém " , root = cislo_node . root )
add_first_child ( text_node , cast_node2 )
add_first_child ( text_node , cast_node2 )
text_node2 = TextNode . objects . create ( text = get_text ( ) )
text_node2 = TextNode . objects . create ( text = get_text ( ) , root = cislo_node . root )
add_first_child ( cast_node2 , text_node2 )
add_first_child ( cast_node2 , text_node2 )
cast_node3 = m . CastNode . objects . create ( nadpis = " Druhý podproblém " )
cast_node3 = m . CastNode . objects . create ( nadpis = " Druhý podproblém " , root = cislo_node . root )
add_first_child ( text_node2 , cast_node3 )
add_first_child ( text_node2 , cast_node3 )
text_node3 = TextNode . objects . create ( text = get_text ( ) )
text_node3 = TextNode . objects . create ( text = get_text ( ) , root = cislo_node . root )
add_first_child ( cast_node3 , text_node3 )
add_first_child ( cast_node3 , text_node3 )
cast_node4 = m . CastNode . objects . create ( nadpis = " Třetí podproblém " )
cast_node4 = m . CastNode . objects . create ( nadpis = " Třetí podproblém " , root = cislo_node . root )
add_first_child ( text_node3 , cast_node4 )
add_first_child ( text_node3 , cast_node4 )
text_node4 = TextNode . objects . create ( text = get_text ( ) )
text_node4 = TextNode . objects . create ( text = get_text ( ) , root = cislo_node . root )
add_first_child ( cast_node3 , text_node4 )
add_first_child ( cast_node3 , text_node4 )
cast_node3a = m . CastNode . objects . create ( nadpis = " Podproblém paralelní s "
cast_node3a = m . CastNode . objects . create ( nadpis = " Podproblém paralelní s "
" druhým podproblémem " )
" druhým podproblémem " , root = cislo_node . root )
cast_node3 . succ = cast_node3a
cast_node3 . succ = cast_node3a
cast_node3 . save ( )
cast_node3 . save ( )
text_node3a = TextNode . objects . create ( text = get_text ( ) )
text_node3a = TextNode . objects . create ( text = get_text ( ) , root = cislo_node . root )
add_first_child ( cast_node3a , text_node3a )
add_first_child ( cast_node3a , text_node3a )
# Občas přidáme mezičíslo
# Občas přidáme mezičíslo
if rnd . randint ( 1 , 3 ) == 1 :
if rnd . randint ( 1 , 3 ) == 1 :
create_node_after ( cislo_node , m . MezicisloNode )
create_node_after ( cislo_node , m . MezicisloNode , root = cislo_node . root )
mezicislo_node = cislo_node . succ
mezicislo_node = cislo_node . succ
cast_node_mezicislo = m . CastNode . objects . create (
cast_node_mezicislo = m . CastNode . objects . create (
nadpis = " Příspěvek k mezičíslu " . format ( cislo . kod ) )
nadpis = " Příspěvek k mezičíslu " . format ( cislo . kod ) , root = cislo_node . root )
add_first_child ( mezicislo_node , cast_node_mezicislo )
add_first_child ( mezicislo_node , cast_node_mezicislo )
odstavec = lorem . paragraph ( )
odstavec = lorem . paragraph ( )
text_mezicislo = Text . objects . create ( na_web = odstavec , do_cisla = odstavec )
text_mezicislo = Text . objects . create ( na_web = odstavec , do_cisla = odstavec )
text_node_mezicislo = TextNode . objects . create ( text = text_mezicislo )
text_node_mezicislo = TextNode . objects . create ( text = text_mezicislo , root = cislo_node . root )
add_first_child ( cast_node_mezicislo , text_node_mezicislo )
add_first_child ( cast_node_mezicislo , text_node_mezicislo )
return tema
return tema
@ -539,7 +539,7 @@ def gen_temata(rnd, rocniky, rocnik_cisla, organizatori):
# Vyrobíme TemaVCisleNody pro obsah
# Vyrobíme TemaVCisleNody pro obsah
for i in range ( zacatek_tematu , konec_tematu + 1 ) :
for i in range ( zacatek_tematu , konec_tematu + 1 ) :
node = TemaVCisleNode . objects . create ( tema = t )
node = TemaVCisleNode . objects . create ( tema = t , root = rocnik . rocniknode )
# FIXME: Není to off-by-one?
# FIXME: Není to off-by-one?
otec = cisla [ i - 1 ] . cislonode
otec = cisla [ i - 1 ] . cislonode
otec_syn ( otec , node )
otec_syn ( otec , node )
@ -596,8 +596,8 @@ def gen_ulohy_tematu(rnd, organizatori, tema, kod, cislo, cislo_se_vzorakem):
na_web = obsah ,
na_web = obsah ,
do_cisla = obsah ,
do_cisla = obsah ,
)
)
zad = TextNode . objects . create ( text = text_zadani )
zad = TextNode . objects . create ( text = text_zadani , root = tema . temavcislenode_set . first ( ) . root )
uloha_zadani = UlohaZadaniNode . objects . create ( uloha = uloha , first_child = zad )
uloha_zadani = UlohaZadaniNode . objects . create ( uloha = uloha , first_child = zad , root = tema . temavcislenode_set . first ( ) . root )
uloha . ulohazadaninode = uloha_zadani
uloha . ulohazadaninode = uloha_zadani
return uloha , uloha_zadani
return uloha , uloha_zadani