Export bare tasks list as markdown

This commit is contained in:
Théophile Bastian 2023-02-26 16:29:49 +01:00
parent 1686293337
commit 41025d29da

View file

@ -78,6 +78,31 @@ def export_short_md(config: Config, groupes: list[list[str]]) -> str:
return out
def export_bare_tasks_md(config: Config) -> str:
"""Exporte la liste des tâches sans assignation en markdown, pour relecture de la
liste, des nombres de groupes assignés et du coefficient de pénibilité"""
def export_taskcat(grp: Task | Category) -> str:
if isinstance(grp, Task):
out = f"* **{grp.name}** : "
out += f"{grp.nb_groups} groupe{'s' if grp.nb_groups > 1 else ''}, "
out += f"pénible x{grp.tough}"
if grp.referent is not None:
out += f" (référent {grp.referent})"
return out
out = "\n" + "#" * (2 + grp.depth) + f" {grp.name}"
if grp.time:
out += f" ({grp.time})"
out += "\n\n"
if grp.intro:
out += grp.intro + "\n\n"
out += "\n".join(map(export_taskcat, grp.tasks))
return out
return "\n".join(map(export_taskcat, config.taches.tasks))
def export_latex(config: Config, groupes: list[list[str]]) -> str:
"""Exporter la liste des tâches en LaTeX (à insérer dans un template)"""
j2_env = util.j2_environment()
@ -95,6 +120,12 @@ def main():
parser.add_argument("taches", help="Fichier yaml contenant les tâches")
parser.add_argument("choristes", help="Fichier CSV contenant les choristes")
parser.add_argument("--to-tex", help="Exporter vers un fichier LaTeX")
parser.add_argument(
"--bare-tasks",
help=(
"Exporter seulement les tâches sans assignation pour revue vers ce fichier"
),
)
parser.add_argument(
"--to-short-md",
help="Exporter vers un fichier Markdown (pour vérification uniquement)",
@ -102,6 +133,10 @@ def main():
args = parser.parse_args()
config = Config(args.taches, args.choristes)
if args.bare_tasks:
util.write_to_file(args.bare_tasks, export_bare_tasks_md(config))
groupes = constituer_groupes(config.choristes)
assigner_taches(config.taches, len(groupes))