2013-09-27 18:09:38 +00:00
|
|
|
#!/usr/bin/env python
|
|
|
|
# encoding: utf-8
|
|
|
|
|
2017-04-16 08:36:27 +00:00
|
|
|
"""
|
|
|
|
Producing then compiling templates
|
|
|
|
"""
|
|
|
|
|
2017-04-16 15:46:14 +00:00
|
|
|
import logging
|
2022-04-09 05:30:13 +00:00
|
|
|
import csv
|
2022-04-09 14:08:10 +00:00
|
|
|
import os
|
2017-04-16 15:46:14 +00:00
|
|
|
|
2019-10-15 17:50:54 +00:00
|
|
|
formatter = logging.Formatter("%(name)s :: %(levelname)s :: %(message)s")
|
2017-04-16 15:46:14 +00:00
|
|
|
steam_handler = logging.StreamHandler()
|
|
|
|
steam_handler.setLevel(logging.DEBUG)
|
|
|
|
steam_handler.setFormatter(formatter)
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
logger.setLevel(logging.DEBUG)
|
|
|
|
logger.addHandler(steam_handler)
|
|
|
|
|
2017-04-17 14:10:38 +00:00
|
|
|
|
2022-04-09 05:30:13 +00:00
|
|
|
def build_subject_list_from_infos(infos: list[dict]) -> list[dict]:
|
|
|
|
subjects = []
|
|
|
|
digit = len(str(len(infos)))
|
|
|
|
for i, infos in enumerate(infos):
|
|
|
|
subjects.append({"number": str(i + 1).zfill(digit), **infos})
|
|
|
|
return subjects
|
|
|
|
|
|
|
|
|
|
|
|
def build_subject_list_from_qty(qty: int) -> list[dict]:
|
|
|
|
subjects = []
|
|
|
|
digit = len(str(qty))
|
|
|
|
for i in range(qty):
|
|
|
|
subjects.append({"number": str(i + 1).zfill(digit)})
|
|
|
|
return subjects
|
|
|
|
|
2022-04-09 14:08:10 +00:00
|
|
|
|
2022-04-09 05:30:13 +00:00
|
|
|
def build_subjects(students_csv, quantity_subjects):
|
|
|
|
if students_csv:
|
|
|
|
with open(students_csv, "r") as csv_file:
|
|
|
|
infos = csv.DictReader(csv_file)
|
|
|
|
return build_subject_list_from_infos(infos)
|
|
|
|
|
|
|
|
return build_subject_list_from_qty(quantity_subjects)
|
|
|
|
|
|
|
|
|
2022-04-09 14:08:10 +00:00
|
|
|
def list_tex_files_no_tpl(dir="."):
|
|
|
|
tex_files = []
|
|
|
|
for file in os.listdir(dir):
|
|
|
|
if file.endswith(".tex") and not file.startswith(tpl_):
|
|
|
|
tex_files.append(file)
|
|
|
|
return tex_files
|
|
|
|
|
|
|
|
|
2022-04-09 05:30:13 +00:00
|
|
|
def bopytex(
|
|
|
|
template: str,
|
|
|
|
working_dir: str,
|
|
|
|
students_csv: str,
|
|
|
|
quantity_subjects: int,
|
|
|
|
corr: bool,
|
|
|
|
dirty: bool,
|
|
|
|
only_corr: bool,
|
|
|
|
crazy: bool,
|
|
|
|
no_join: bool,
|
2019-10-15 17:50:54 +00:00
|
|
|
):
|
2022-04-09 05:30:13 +00:00
|
|
|
pass
|
2014-01-19 20:37:46 +00:00
|
|
|
|
2017-04-16 08:36:27 +00:00
|
|
|
|
2013-09-27 18:09:38 +00:00
|
|
|
# -----------------------------
|
|
|
|
# Reglages pour 'vim'
|
|
|
|
# vim:set autoindent expandtab tabstop=4 shiftwidth=4:
|
2017-04-16 08:36:27 +00:00
|
|
|
# cursor: 16 del
|