Compare commits

...

4 commits

3 changed files with 88 additions and 6 deletions

View file

@ -11,6 +11,7 @@ class Task:
name: str
qualified_name: str
descr: str
tough: int
notes: str
time: str
nb_groups: int
@ -89,6 +90,7 @@ class Config:
name=task["nom"],
qualified_name=qual_name,
descr=task["descr"].format(**self.env),
tough=int(task["penible"]),
notes=task.get("notes", ""),
time=task.get("heure", ""),
nb_groups=int(task.get("nb_groupes", 1)),

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))

View file

@ -6,43 +6,66 @@ CA:
- Charlotte
- Cécile
- Théo
- Gauthier
- Aurore
- Anaïs D.
- Nina
- Édeline
- Justine
- Lucie B.
- Raphaël
taches:
- cat: Samedi
taches:
- nom: Nettoyer tables
heure: 12:50
descr: "Nettoyer les tables (miettes, coup d'éponge), jeter les détritus, etc."
penible: 10
- nom: Préparer salle
heure: 12:55
descr: "Empiler les tables au fond, mettre en place {nbChoristes} chaises : 4 sections en demi-lune complète devant le clavier. Brancher rallonge et enceintes, installer la salle."
descr: "Empiler les tables et chaises au fond de la salle pour libérer l'espace. Brancher rallonge et enceintes, installer la salle."
penible: 10
- cat: Goûter
heure: '16:00'
taches:
- nom: Service
descr: "Sous la direction du CA, sortir goûter de la réserve, préparer thé & café, les disposer sur le comptoir et quelques tables dans la grande salle du gîte, faire le service, …"
penible: 10
- nom: Ranger
descr: "Débarrasser et ranger les restes du goûter, enlever les miettes (sans en mettre partout !) et passer un coup d'éponge, balayer et ranger le matériel de nettoyage."
penible: 10
- cat: Dîner
heure: '20:00'
taches:
- nom: Installer tables
descr: "Arranger tables & chaises pour {nbChoristesDiner} personnes"
penible: 15
- nom: Mettre la table
descr: "Mettre la table -- vaisselle, couverts, etc."
- nom: Service
descr: "Servir l'apéro, le repas, le dessert"
nb_groupes: 2
penible: 10
- nom: Service de l'apéro
descr: "Sortir les divers apéros et les répartir sur les tables"
penible: 5
- nom: Service du plat
nb_groupes: 2
penible: 15
descr: "Voir avec la cuisine"
- nom: Service du dessert
descr: "Voir avec la cuisine"
penible: 15
- nom: Débarrasser
descr: "Débarrasser les tables après le dîner"
nb_groupes: 2
penible: 15
- nom: Nettoyer
descr: "Nettoyer les tables (miettes, coup d'éponge) et balayer rapidement"
penible: 15
- nom: Vider le compost
penible: 2
descr: "Vider le compost : soulever à deux le sac plein par en dessous, passer par porte de la petite « cuisine plonge » (vaisselle), vider le sac dans les grands bacs en bois à 5 mètres à gauche en sortant (pendant que 1 personne ouvre les portes/le bac & éclaire)."
- nom: Plonge
descr: "Faire toute la vaisselle et la ranger (utiliser le lave vaisselle !)"
nb_groupes: 2
penible: 20
- cat: Dimanche
taches:
- cat: Petit déjeuner
@ -50,50 +73,72 @@ taches:
taches:
- nom: Installer
descr: "Préparation du thé, café, arranger quelques tables, sortir la nourriture"
ref: 'David B.'
penible: 20
heure: 7:50
- nom: Réveiller
heure: 8:20
penible: 20
descr: "Aller dans **tous** les dortoirs (toutes les chambres du 1er étage, *dortoir sous-sol*, *bâtiment annexe en face*), ouvrir *toutes* les portes, faire le tour des lits & annoncer **de vive voix** la fin du petit dej & le début des festivités dans **une demi-heure** pour les gros dormeurs ! (demandez *samedi* à un·e ancien·ne si vous ne connaissez pas les lieux)"
- nom: Débarrasser
descr: "Débarrasser les tables, ranger la nourriture"
penible: 10
- nom: Nettoyer
descr: "Nettoyer les tables (miettes, coup d'éponge), jeter les détritus"
penible: 15
- nom: Vaisselle
descr: "Faire la vaisselle, lancer le lave-vaisselle et filer en répet !"
penible: 20
- nom: Installer répet
heure: '8:40'
descr: "Ranger tables & chaises, installer et brancher le clavier"
penible: 10
descr: "Empiler les tables et chaises au fond de la salle pour libérer l'espace. Brancher rallonge et enceintes, installer la salle."
- cat: "Déjeuner"
taches:
- nom: Arranger buffet
penible: 10
descr: "Installer des tables salé/sucré pour mettre les plats partagés, installer les plats, vérifier qu'ils sont étiquetés"
- nom: Installer vaisselle
penible: 10
descr: "Sortir la vaisselle propre et les couverts, tout mettre sur les tables du buffet"
- nom: Installer tables
penible: 10
descr: "Arranger tables & chaises pour {nbChoristes} personnes"
- nom: Débarrasser
penible: 15
descr: "Débarrasser les tables, mettre de côté la nourriture entamée"
- nom: Gérer les restes
penible: 15
descr: "Découper tous les restes en portions, annoncer **de vive voix** aux choristes d'apporter leurs tupperwares, distribuer tous les restes (de force s'il le faut). *Tout doit partir* !"
- nom: Nettoyer
penible: 15
descr: "Nettoyer les tables (miettes, coup d'éponge), jeter les détritus"
- nom: Vaisselle
penible: 20
descr: "Faire la vaisselle (utiliser le lave-vaisselle !) et la ranger. Rendre aux choristes les plats ou contenants perso"
nb_groupes: 2
- nom: Vider le compost
penible: 2
descr: "Vider le compost : soulever à deux le sac plein par en dessous, passer par porte de la petite « cuisine plonge » (vaisselle), vider le sac dans les grands bacs en bois à 5 mètres à gauche en sortant (pendant que 1 personne ouvre les portes/le bac"
- cat: Grand rangement
intro: "**Chacun·e est responsable du rangement et des espaces annexes de *sa* chambre !**"
taches:
- nom: Nettoyer salles de bain étage
descr: Nettoyer les salles de bain du 1er étage du gîte principal
penible: 20
notes: "Remplir les seaux de produit dans la salle plonge"
- nom: Nettoyer salles de bain RdC
descr: Nettoyer les salles de bain du rez-de-chaussée du gîte principal
penible: 15
notes: "Remplir les seaux de produit dans la salle plonge"
- nom: Serpillère RdC
penible: 15
descr: "Passer la serpillère au rez-de-chaussée du gîte principal (ne pas hésiter à changer *souvent* l'eau du seau quand elle est sale)"
notes: "Remplir les seaux de produit dans la salle plonge"
- nom: Serpillère école
penible: 15
descr: "Passer la serpillère dans la salle des fêtes annexe (ne pas hésiter à changer *souvent* l'eau du seau quand elle est sale). L'annexe est en face du gîte, dans la montée : dernière porte sur la droite du bâtiment, après la table pique-nique."
notes: "Remplir les seaux de produit dans la salle plonge"
- nom: Meubles RdC
penible: 10
descr: "Remettre les meubles du rez-de-chaussée du gîte principal en place (y compris tous les bancs !)"