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 de Execlocal au .log du Depot.
  • 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 du Depot.
  • Instancie une classe de contextualisation Maquis.
    • maintenance de la partie du maquis assocé au dépôt
    • Ajoute le .log de l'instance de Maquis au .log du Depot.

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.

log

Journal d'instanciation d'un objet Depot.

TYPE chaine de caractères.