diff --git a/bopytex/default_config.py b/bopytex/default_config.py index 2f8b19d..1325331 100644 --- a/bopytex/default_config.py +++ b/bopytex/default_config.py @@ -2,7 +2,7 @@ import jinja2 as j2 from bopytex.planner.generate_compile_join_planner import planner from bopytex.worker import Dispatcher from bopytex.worker.clean import clean -from bopytex.worker.compile import latexmk +from bopytex.worker.compile import pdflatex from bopytex.worker.generate import generate from bopytex.worker.join_pdf import pdfjam @@ -11,5 +11,7 @@ jinja2 = { } dispatcher = Dispatcher( - {"GENERATE": generate, "COMPILE": latexmk, "JOIN": pdfjam, "CLEAN": clean} + {"GENERATE": generate, "COMPILE": pdflatex, "JOIN": pdfjam, "CLEAN": clean} ) + + diff --git a/bopytex/script.py b/bopytex/script.py index f3e3153..15706a2 100644 --- a/bopytex/script.py +++ b/bopytex/script.py @@ -85,7 +85,7 @@ logger.addHandler(steam_handler) help="Config file path", ) def new(**options): - for message in main(options): + for message in main(**options): try: assert message.status == 0 except AssertionError: diff --git a/bopytex/worker/compile.py b/bopytex/worker/compile.py index 1c1b68d..641122c 100644 --- a/bopytex/worker/compile.py +++ b/bopytex/worker/compile.py @@ -4,12 +4,22 @@ from bopytex.message import Message from ..message import SubprocessMessage -def latexmk(args: dict, deps, output): - compile_process = subprocess.Popen( - ["latexmk", "-f", deps[0]], - stdout=subprocess.PIPE, - stderr=subprocess.PIPE, - universal_newlines=True - ) - return Message(compile_process.wait(), list(compile_process.stdout), list(compile_process.stderr)) +def curstomtex(command: str, options: str): + def func(args: dict, deps, output) -> Message: + compile_process = subprocess.Popen( + [command, options, deps[0]], + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + universal_newlines=True, + ) + return Message( + compile_process.wait(), + list(compile_process.stdout), + list(compile_process.stderr), + ) + return func + + +latexmk = curstomtex("latexmk", "-f") +pdflatex = curstomtex("pdflatex", "--inteactions=nonstopmode") diff --git a/bopytex/worker/join_pdf.py b/bopytex/worker/join_pdf.py index 2a44f04..120df39 100644 --- a/bopytex/worker/join_pdf.py +++ b/bopytex/worker/join_pdf.py @@ -1,6 +1,6 @@ import subprocess -from bopytex.message import SubprocessMessage +from bopytex.message import Message, SubprocessMessage def pdfjam(args: dict, deps, output): joining_process = subprocess.Popen( @@ -9,5 +9,10 @@ def pdfjam(args: dict, deps, output): stderr=subprocess.PIPE, universal_newlines=True, ) - return SubprocessMessage(joining_process) + #return SubprocessMessage(joining_process) + return Message( + joining_process.wait(), + list(joining_process.stdout), + list(joining_process.stderr), + ) diff --git a/test/test_service.py b/test/test_service.py index 3828f18..a495180 100644 --- a/test/test_service.py +++ b/test/test_service.py @@ -47,7 +47,7 @@ def test_get_config_with_configfile(config_file, tmp_path): "configfile", "Dispatcher", "planner", - "latexmk", + "pdflatex", "clean", "j2", "dispatcher",