maintenance.exl_mathPbs

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

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.

Renvoie

TYPE : dictionnaire

`log`: journal de l'exécution des scripts
`specific_results`: dictionnaire
    `indexations`: liste d'indexations
    `descriptions`: liste de descriptions