-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathexl_mathPbs.py
66 lines (48 loc) · 2.16 KB
/
exl_mathPbs.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# -*- coding: utf-8 -*-
"""
Module de scripts (à exécuter localement) spécifiques au dépôt d'exercices et complétant les commandes définies dans le manifeste.
Modifié le 15/03/23 @author: remy
Ce module est importé par l'instanciation de l'objet `Execlocal`.
Les traitements sont exécutés par la fonction `exec()` du module.
J'envisage d'automatiser la création des fichiers `A` à partir des énoncés`E`. Pour le moment, ils sont créés à la main.
Pour cette hypothétique automatisation, il faudrait:
- Former la liste des énoncés Latex dans le dossier
- Former les fichiers `A` avec énoncé et corrigé (éventuel)
- Former la liste des fichiers à publier
"""
import csv
import glob
import os.path
import re
import scantex
dp_data = {}
dp_data['relative_path'] = '../math-pbs/'
relpath = '../math-pbs/'
lineprefix = "\n \t \t \t"
def exec(data):
"""
Exécute les traitements spécifiques et complète le journal.
- Extrait la liste des descriptions
- Extrait la liste des indexations
#### Paramètres
`data`: données d'exécution locale, valeur de `execloc` dans le dictionnaire `manifeste` défini par le module d'initialisation [`init_mathPbs`](init_mathPbs.html).
#### Renvoie
TYPE : dictionnaire
`log`: journal de l'exécution des scripts
`specific_results`: dictionnaire
`indexations`: liste d'indexations
`descriptions`: liste de descriptions
"""
log = lineprefix + 'Scripts du module spécifique (fonction exec())'
# renseigne la propriété .indexations
idx_path_pattern = data['context_data']['idx_path_pattern']
indexations = scantex.get_liste_indexations(idx_path_pattern)
log += lineprefix + str(len(indexations)) + " indexations \n"
# renseigne la propriété .descriptions
description_pattern = data['context_data']['description']
descriptions = scantex.get_liste_descriptions(description_pattern)
log += lineprefix + str(len(descriptions)) + " descriptions \n"
specific_results = {
'indexations': indexations,
'descriptions': descriptions}
return {'log': log, 'specific_results': specific_results}