maintenance.depot
Module principal de maintenance d'un dépôt.
Modifié le 30/03/23 @author: nicolair
Importe les modules
Définit la classe
Depot
.
Le module execlocal
définit la classe Execlocal
. L'instanciation de cette
classe réalise
- la maintenance des fichiers Latex
- les compilations des images
- place la liste des images publiables dans une propriété.
Le module espace
définit la classe Espace
. L'instanciation de cette
classe met à jour l'espace de publication selon l'état des images publiables
dans le dépôt local.
La propriété .log
contient le journal des instanciations.
1""" 2Module principal de maintenance d'un dépôt. 3 4Modifié le 30/03/23 @author: nicolair 5 6- Importe les modules 7 - [`execlocal`](execlocal.html) (traitement des fichiers du dépôt) 8 - [`espace`](espace.html) (publication) 9 - [`graphdb`](graphdb.html) (contextualisation). 10 11- Définit la classe `Depot`. 12 13Le module `execlocal` définit la classe `Execlocal`. L'instanciation de cette 14classe réalise 15 16 - la maintenance des fichiers Latex 17 - les compilations des images 18 - place la liste des images publiables dans une propriété. 19 20Le module `espace` définit la classe `Espace`. L'instanciation de cette 21classe met à jour l'espace de publication selon l'état des images publiables 22 dans le dépôt local. 23 24La propriété `.log` contient le journal des instanciations. 25 26""" 27import os 28import sys 29import execlocal 30import espace 31import graphdb 32 33# pour permettre l'import programmatique 34localpath = os.path.dirname(__file__) 35if localpath not in sys.path: 36 sys.path.append(os.path.dirname(__file__)) 37 38 39class Depot(): 40 """ 41 Classe représentant un dépôt. 42 43 La maintenance du dépôt est réalisée lors de l'instanciation. 44 45 """ 46 47 def __init__(self, manifeste): 48 """ 49 Instancie un objet `Depot`. 50 51 - Définit une propriété `.log` : journal de la maintenance. 52 - Instancie une classe d'exécution locale `Execlocal` 53 - maintenance des fichiers Latex 54 - compilations diverses 55 - extraction de données des fichiers 56 - Ajoute le `.log` de l'instance de `Execlocal` au `.log` du `Depot`. 57 - Instancie une classe de publication `Espace` 58 - maintenance de l'espace dédié au dépôt. 59 - Ajoute le `.log` de l'instance d' `Espace` au `.log` du `Depot`. 60 - Instancie une classe de contextualisation `Maquis`. 61 - maintenance de la partie du maquis assocé au dépôt 62 - Ajoute le `.log` de l'instance de `Maquis` au `.log` du `Depot`. 63 64 #### Parametres 65 66 - manifeste : 67 - TYPE dictionnaire 68 - DESCRIPTION code le manifeste du dépôt 69 70 La structure de ce dictionnaire est précisée dans le fichier 71 d'initialisation spécifique [`init_mathCours`](init_mathCours.html), [`init_mathExos`](init_mathExos.html) 72 [`init_mathPbs`](init_mathPbs.html) 73 74 #### Renvoie 75 76 None. 77 78 """ 79 self.log = "\n \t Initialisation de la classe Depot : " 80 """ 81 Journal d'instanciation d'un objet `Depot`. 82 83 TYPE chaine de caractères. 84 """ 85 86 self.nom = manifeste['nom'] 87 self.rel_path = manifeste['execloc']['relative_path'] 88 self.execloc_module = manifeste['execloc']['modulespec'] 89 90 # classe d'exécution locale 91 exl = execlocal.Execlocal(manifeste['execloc']) 92 self.publiables = exl.publiables 93 self.log += exl.log 94 95 # classe de publication 96 # for fic in self.publiables.keys(): 97 # print(fic) 98 esp = espace.Espace(manifeste['espace'], self.publiables) 99 self.log += esp.log 100 101 # classe de contextualisation 102 maquisdoc = graphdb.Maquis(manifeste['context'], 103 exl.specific_results) 104 self.log += maquisdoc.log
class
Depot:
40class Depot(): 41 """ 42 Classe représentant un dépôt. 43 44 La maintenance du dépôt est réalisée lors de l'instanciation. 45 46 """ 47 48 def __init__(self, manifeste): 49 """ 50 Instancie un objet `Depot`. 51 52 - Définit une propriété `.log` : journal de la maintenance. 53 - Instancie une classe d'exécution locale `Execlocal` 54 - maintenance des fichiers Latex 55 - compilations diverses 56 - extraction de données des fichiers 57 - Ajoute le `.log` de l'instance de `Execlocal` au `.log` du `Depot`. 58 - Instancie une classe de publication `Espace` 59 - maintenance de l'espace dédié au dépôt. 60 - Ajoute le `.log` de l'instance d' `Espace` au `.log` du `Depot`. 61 - Instancie une classe de contextualisation `Maquis`. 62 - maintenance de la partie du maquis assocé au dépôt 63 - Ajoute le `.log` de l'instance de `Maquis` au `.log` du `Depot`. 64 65 #### Parametres 66 67 - manifeste : 68 - TYPE dictionnaire 69 - DESCRIPTION code le manifeste du dépôt 70 71 La structure de ce dictionnaire est précisée dans le fichier 72 d'initialisation spécifique [`init_mathCours`](init_mathCours.html), [`init_mathExos`](init_mathExos.html) 73 [`init_mathPbs`](init_mathPbs.html) 74 75 #### Renvoie 76 77 None. 78 79 """ 80 self.log = "\n \t Initialisation de la classe Depot : " 81 """ 82 Journal d'instanciation d'un objet `Depot`. 83 84 TYPE chaine de caractères. 85 """ 86 87 self.nom = manifeste['nom'] 88 self.rel_path = manifeste['execloc']['relative_path'] 89 self.execloc_module = manifeste['execloc']['modulespec'] 90 91 # classe d'exécution locale 92 exl = execlocal.Execlocal(manifeste['execloc']) 93 self.publiables = exl.publiables 94 self.log += exl.log 95 96 # classe de publication 97 # for fic in self.publiables.keys(): 98 # print(fic) 99 esp = espace.Espace(manifeste['espace'], self.publiables) 100 self.log += esp.log 101 102 # classe de contextualisation 103 maquisdoc = graphdb.Maquis(manifeste['context'], 104 exl.specific_results) 105 self.log += maquisdoc.log
Classe représentant un dépôt.
La maintenance du dépôt est réalisée lors de l'instanciation.
Depot(manifeste)
48 def __init__(self, manifeste): 49 """ 50 Instancie un objet `Depot`. 51 52 - Définit une propriété `.log` : journal de la maintenance. 53 - Instancie une classe d'exécution locale `Execlocal` 54 - maintenance des fichiers Latex 55 - compilations diverses 56 - extraction de données des fichiers 57 - Ajoute le `.log` de l'instance de `Execlocal` au `.log` du `Depot`. 58 - Instancie une classe de publication `Espace` 59 - maintenance de l'espace dédié au dépôt. 60 - Ajoute le `.log` de l'instance d' `Espace` au `.log` du `Depot`. 61 - Instancie une classe de contextualisation `Maquis`. 62 - maintenance de la partie du maquis assocé au dépôt 63 - Ajoute le `.log` de l'instance de `Maquis` au `.log` du `Depot`. 64 65 #### Parametres 66 67 - manifeste : 68 - TYPE dictionnaire 69 - DESCRIPTION code le manifeste du dépôt 70 71 La structure de ce dictionnaire est précisée dans le fichier 72 d'initialisation spécifique [`init_mathCours`](init_mathCours.html), [`init_mathExos`](init_mathExos.html) 73 [`init_mathPbs`](init_mathPbs.html) 74 75 #### Renvoie 76 77 None. 78 79 """ 80 self.log = "\n \t Initialisation de la classe Depot : " 81 """ 82 Journal d'instanciation d'un objet `Depot`. 83 84 TYPE chaine de caractères. 85 """ 86 87 self.nom = manifeste['nom'] 88 self.rel_path = manifeste['execloc']['relative_path'] 89 self.execloc_module = manifeste['execloc']['modulespec'] 90 91 # classe d'exécution locale 92 exl = execlocal.Execlocal(manifeste['execloc']) 93 self.publiables = exl.publiables 94 self.log += exl.log 95 96 # classe de publication 97 # for fic in self.publiables.keys(): 98 # print(fic) 99 esp = espace.Espace(manifeste['espace'], self.publiables) 100 self.log += esp.log 101 102 # classe de contextualisation 103 maquisdoc = graphdb.Maquis(manifeste['context'], 104 exl.specific_results) 105 self.log += maquisdoc.log
Instancie un objet Depot
.
- Définit une propriété
.log
: journal de la maintenance. - Instancie une classe d'exécution locale
Execlocal
- maintenance des fichiers Latex
- compilations diverses
- extraction de données des fichiers
- Ajoute le
.log
de l'instance deExeclocal
au.log
duDepot
.
- Instancie une classe de publication
Espace
- maintenance de l'espace dédié au dépôt.
- Ajoute le
.log
de l'instance d'Espace
au.log
duDepot
.
- Instancie une classe de contextualisation
Maquis
.- maintenance de la partie du maquis assocé au dépôt
- Ajoute le
.log
de l'instance deMaquis
au.log
duDepot
.
Parametres
- manifeste :
- TYPE dictionnaire
- DESCRIPTION code le manifeste du dépôt
La structure de ce dictionnaire est précisée dans le fichier
d'initialisation spécifique init_mathCours
, init_mathExos
init_mathPbs
Renvoie
None.