diff --git a/prace/bakalarka/main.py b/prace/bakalarka/main.py index a8f5cb112a7d5162042a833c0f499caa15e9f38a..65815501ccd823d3f8a54fc5d3b4c46028a6b355 100755 --- a/prace/bakalarka/main.py +++ b/prace/bakalarka/main.py @@ -19,9 +19,12 @@ d = pathlib.Path("/".join(__file__.split("/")[:-1])) web = jk_web.main.web copy_file = web.copy_file Page = web.Page +LangPage = web.LangPage +CZ = jk_web.main.CZ relative_link = web.relative_link S = web.S timer = web.timer +html = web.html base_page = jk_web.main.base_page @@ -30,21 +33,53 @@ base_page = jk_web.main.base_page with web.Module("bakalarka") as module_bakalarka, web.ctx.add_out_path_prefix(jk_web.main.bakalarka_prefix): - bakalarka_pdf = web.ctx.out_path_prefix + "bakalarka.pdf" - web_index = web.Mpage(d, - "index", - bibliography=d/"sample.bib", - page_builder=base_page, - source_code_module=(lambda: ...).__module__, - commands=formatitko_commands, - custom_pdf=bakalarka_pdf, - ) + @LangPage(lambda: Page("index.html", short_title="Bakalářská práce", higher_page=jk_web.main.web_projects), CZ) + def web_index(): + b = html.Builder() + b.h2("Bakalářská práce: Binární paint shop problém") + with b.ul(): + b.li.a(href=relative_link(web_prace))("Práce (web)") + b.li.a(href=relative_link(bakalarka_pdf))("Práce (pdf)") + b.li.a(href=relative_link(web_posudek_vedouci))("Posudek vedoucího") + b.li.a(href=relative_link(web_posudek_oponent))("Posudek oponenta") + b.li.a(href=relative_link(web_prezentace))("Prezentace na obhajobě") + return base_page(b.root) assert str(web_index) == jk_web.main.web_bakalarka, (str(web_index), jk_web.main.web_bakalarka) - web_index.higher_page = jk_web.main.web_projects - - @web.add_job(web.PRIORITY_WRITE) - def gen_bakalarka_pdf(): - tmpdirname = tempfile.mkdtemp(dir=web.build_dir) - from .bakalarka import main - main(pathlib.Path(tmpdirname), False) - print(web.copy_file(None, bakalarka_pdf, tmpdirname+"/bakalarka.pdf", add_out_path_prefix=False)) + + with web.Module("bakalarka-prace"): + bakalarka_pdf = web.ctx.out_path_prefix + "prace.pdf" + web_prace = web.Mpage(d, + "prace", + source="index.md", + bibliography=d/"sample.bib", + page_builder=base_page, + source_code_module=(lambda: ...).__module__, + commands=formatitko_commands, + custom_pdf=bakalarka_pdf, + ) + + @web.add_job(web.PRIORITY_WRITE) + def gen_bakalarka_pdf(): + tmpdirname = tempfile.mkdtemp(dir=web.build_dir) + from .bakalarka import main + main(pathlib.Path(tmpdirname), False) + print(web.copy_file(None, bakalarka_pdf, tmpdirname+"/bakalarka.pdf", add_out_path_prefix=False)) + + web_prace.higher_page = web_index + + web_posudek_vedouci = web.copy_file(d, "posudek_vedouci.pdf") + web_posudek_oponent = web.copy_file(d, "posudek_oponent.pdf") + + with web.Module("bakalarka-prezentace"): + web_prezentace = web.ctx.out_path_prefix + "prezentace.pdf" + + @web.add_job(web.PRIORITY_GENERATE) + def gen_prezentace(): + import subprocess + tmpdirname = tempfile.mkdtemp(dir=web.build_dir) + shutil.copytree(d/"prezentace", tmpdirname+"/prezentace") + subprocess.run(["./build.sh"], cwd=tmpdirname+"/prezentace", check=True) + print(web.copy_file(None, web_prezentace, tmpdirname+"/prezentace/main.pdf", add_out_path_prefix=False)) + + + diff --git a/prace/bakalarka/posudek_oponent.pdf b/prace/bakalarka/posudek_oponent.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b4e8eb7a53fc5dc281235e2647b3e5a8c0eea164 Binary files /dev/null and b/prace/bakalarka/posudek_oponent.pdf differ diff --git a/prace/bakalarka/posudek_vedouci.pdf b/prace/bakalarka/posudek_vedouci.pdf new file mode 100644 index 0000000000000000000000000000000000000000..fff374ad0fc8c1db152ec614f76c27a730c75d3d Binary files /dev/null and b/prace/bakalarka/posudek_vedouci.pdf differ diff --git a/prace/bakalarka/prezentace b/prace/bakalarka/prezentace new file mode 120000 index 0000000000000000000000000000000000000000..776c4a1f315c7938dd7dc4e321e40ce82758667b --- /dev/null +++ b/prace/bakalarka/prezentace @@ -0,0 +1 @@ +../../prezentace \ No newline at end of file