from bopytex.tasks import Task, activate_corr_on, compile_pdf, generate, join_pdfs import bopytex.planner.naming as naming def only_corr_planner(options: dict) -> list[Task]: pass def only_corr_tasks_builder( options: dict, ) -> list[Task]: opt = { "no_join": False, "no_pdf": False, } opt.update(options) try: sources = opt["sources"] no_join = opt["no_join"] no_pdf = opt["no_pdf"] except KeyError: raise PlannerMissingOption("An option is missing") tasks = [] corr_pdfs = [] for source in sources: corr_source = naming.corr(source) tasks.append(activate_corr_on(source, corr_source)) if not no_pdf: corr_pdf = naming.source2pdf(corr_source) tasks.append(compile_pdf(corr_source, corr_pdf)) corr_pdfs.append(corr_pdf) if not no_join: joined = "joined.pdf" if corr_pdfs: corr_joined = naming.corr(joined) tasks.append(join_pdfs(corr_pdfs, corr_joined)) return tasks