forked from viennet/Referentiels
Ajoute l'export latex d'une SAE et les macros pour la représenter en latex
This commit is contained in:
parent
2549fd6950
commit
838aa4925f
@ -27,7 +27,7 @@
|
||||
% Variables globales
|
||||
% **************************************
|
||||
\newcounter{cptsemestre} %
|
||||
\newcounter{cptressource} %
|
||||
\newcounter{cptR} %
|
||||
\newcounter{cptsae}
|
||||
|
||||
\xdef\comploop{A,B,C} % Les compétences de la ressource
|
||||
@ -48,11 +48,12 @@
|
||||
\def\nouveausemestre#1{
|
||||
\addtocounter{cptsemestre}{1} % Incrémente le compteur de semestre
|
||||
|
||||
\setcounter{cptressource}{0} % RAZ du compteur de ressource
|
||||
\setcounter{cptR}{0} % RAZ du compteur de ressource total
|
||||
\setcounter{cptsae}{0}
|
||||
|
||||
\def\currentsemestre{\Alph{cptsemestre}} % Lettre du semestre courant : A=1, B=2, ...
|
||||
\newcounter{cptressource\currentsemestre} % le compteur des ressources dans le semestre
|
||||
\newcounter{cptR\currentsemestre} % le compteur des ressources dans le semestre
|
||||
\newcounter{cptS\currentsemestre} % le compteur des sae dans le semestre
|
||||
|
||||
\expandafter\def\csname semestrename\currentsemestre\endcsname{Semestre \arabic{cptsemestre}}
|
||||
\expandafter\def\csname semestrenumero\currentsemestre\endcsname{\arabic{cptsemestre}}
|
||||
@ -67,34 +68,31 @@
|
||||
% Déclaration de la ressource :
|
||||
% \nouvelleressource{code_ressource}{intitule_ressource}
|
||||
\def\nouvelleressource#1#2{
|
||||
\addtocounter{cptressource}{1} % Ajoute une ressource (tous semestres confondu)
|
||||
\addtocounter{cptressource\currentsemestre}{1} % Ajoute une ressource au semestre
|
||||
\def\currentressource{\currentsemestre\Alph{cptressource}} % Ressource RAA = A pour semestre 1 puis A pour ressource n°1
|
||||
\addtocounter{cptR}{1} % Ajoute une ressource (tous semestres confondu)
|
||||
\addtocounter{cptR\currentsemestre}{1} % Ajoute une ressource au semestre
|
||||
\def\currentRressource{\currentsemestre\Alph{cptR}} % Ressource RAA = A pour semestre 1 puis A pour ressource n°1
|
||||
|
||||
\expandafter\xdef\csname Rcode\currentressource\endcsname{#1} % code
|
||||
\expandafter\xdef\csname Rname\currentressource\endcsname{#2} % nom/intitule
|
||||
\expandafter\xdef\csname Rsem\currentressource\endcsname{\csname semestrenumero\currentsemestre\endcsname} % nom du semestre
|
||||
\expandafter\xdef\csname Rcode\currentRressource\endcsname{#1} % code
|
||||
\expandafter\xdef\csname Rname\currentRressource\endcsname{#2} % nom/intitule
|
||||
\expandafter\xdef\csname Rsem\currentRressource\endcsname{\csname semestrenumero\currentsemestre\endcsname} % nom du semestre
|
||||
|
||||
\newcounter{cptcontenu\currentressource} % le compteur de contenu pour la ressource, mis à 0
|
||||
\newcounter{cptressourcecomp\currentressource} % le compteur de compétences rattachées à la ressource
|
||||
\newcounter{cptressourcesae\currentressource} % Le compteur de sae
|
||||
\newcounter{cptressourceprerequis\currentressource}
|
||||
|
||||
%\definecollection{ressourcedescription\currentressource}
|
||||
\newcounter{cptRcomp\currentRressource} % le compteur de compétences rattachées à la ressource
|
||||
\newcounter{cptRsae\currentRressource} % Le compteur de sae
|
||||
\newcounter{cptRprerequis\currentRressource}
|
||||
}
|
||||
|
||||
% ****************************
|
||||
% Ajout des heures à la ressource courante
|
||||
\def\ajoutRheures#1#2{
|
||||
\expandafter\xdef\csname Rtraining\currentressource\endcsname{#1} % heures de formation encadrées
|
||||
\expandafter\xdef\csname Rtp\currentressource\endcsname{#2} % heures de projet
|
||||
\expandafter\xdef\csname Rtraining\currentRressource\endcsname{#1} % heures de formation encadrées
|
||||
\expandafter\xdef\csname Rtp\currentRressource\endcsname{#2} % heures de projet
|
||||
}
|
||||
|
||||
% ****************************
|
||||
% Ajout du descriptif (ancrage)
|
||||
% Ajout du descriptif (ancrage professionnel)
|
||||
\def\ajoutRancrage#1{
|
||||
\begingroup\let\+\relax
|
||||
\expandafter\gdef\csname Rancrage\currentressource\endcsname{\noexpand #1} % descriptif
|
||||
\expandafter\gdef\csname Rancrage\currentRressource\endcsname{\noexpand #1} % descriptif
|
||||
\endgroup
|
||||
}
|
||||
|
||||
@ -102,7 +100,7 @@
|
||||
% Ajout des contenus
|
||||
\def\ajoutRcontenudetaille#1{
|
||||
\begingroup\let\+\relax
|
||||
\expandafter\gdef\csname Rcontenu\currentressource\endcsname{\noexpand #1} % liste de contenu
|
||||
\expandafter\gdef\csname Rcontenu\currentRressource\endcsname{\noexpand #1} % liste de contenu
|
||||
\endgroup
|
||||
}
|
||||
|
||||
@ -110,50 +108,137 @@
|
||||
% Ajout des compétences
|
||||
% \ajoutcompetence{nom_competence}{niveau}
|
||||
\def\ajoutRcompetence#1#2{
|
||||
\addtocounter{cptressourcecomp\currentressource}{1} % le compteur de la comp dans la ressource
|
||||
\xdef\currentcomp{\Alph{cptressourcecomp\currentressource}} % La lettre de la comp dans la ressource
|
||||
\addtocounter{cptRcomp\currentRressource}{1} % le compteur de la comp dans la ressource
|
||||
\xdef\currentRcomp{\Alph{cptRcomp\currentRressource}} % La lettre de la comp dans la ressource
|
||||
|
||||
|
||||
\expandafter\xdef\csname Rcomp\currentressource\currentcomp\endcsname{#1} % le nom de la comp
|
||||
\expandafter\xdef\csname Rniveau\currentressource\currentcomp\endcsname{#2} % le nom de la comp
|
||||
\expandafter\xdef\csname Rcomp\currentRressource\currentRcomp\endcsname{#1} % le nom de la comp
|
||||
\expandafter\xdef\csname Rniveau\currentRressource\currentRcomp\endcsname{#2} % le nom de la comp
|
||||
|
||||
\newcounter{cptressourceac\currentressource\currentcomp} % le compteur d'ac pour la compétence rattachées à la ressource
|
||||
\newcounter{cptRac\currentRressource\currentRcomp} % le compteur d'ac pour la compétence rattachées à la ressource
|
||||
}
|
||||
|
||||
% ****************************
|
||||
% Ajout d'AC aux compétences
|
||||
\def\ajoutRac#1#2{
|
||||
\addtocounter{cptressourceac\currentressource\currentcomp}{1} % le compteur de l'ac pour la comp dans la ressource
|
||||
\xdef\currentac{\Alph{cptressourceac\currentressource\currentcomp}} % La lettre de l'ac pour la comp dans la ressource
|
||||
\addtocounter{cptRac\currentRressource\currentRcomp}{1} % le compteur de l'ac pour la comp dans la ressource
|
||||
\xdef\currentRac{\Alph{cptRac\currentRressource\currentRcomp}} % La lettre de l'ac pour la comp dans la ressource
|
||||
|
||||
\expandafter\xdef\csname Raccode\currentressource\currentcomp\currentac\endcsname{#1} % le nom de la comp
|
||||
\expandafter\xdef\csname Racname\currentressource\currentcomp\currentac\endcsname{#2} % le nom de la comp
|
||||
\expandafter\xdef\csname Raccode\currentRressource\currentRcomp\currentRac\endcsname{#1} % le nom de la comp
|
||||
\expandafter\xdef\csname Racname\currentRressource\currentRcomp\currentRac\endcsname{#2} % le nom de la comp
|
||||
}
|
||||
|
||||
% ****************************
|
||||
% Ajout des SAE
|
||||
\def\ajoutRsae#1#2{
|
||||
\addtocounter{cptressourcesae\currentressource}{1} % le compteur de la sae dans la ressource
|
||||
\xdef\currentsae{\Alph{cptressourcesae\currentressource}} % La lettre
|
||||
\addtocounter{cptRsae\currentRressource}{1} % le compteur de la sae dans la ressource
|
||||
\xdef\currentRsae{\Alph{cptRsae\currentRressource}} % La lettre
|
||||
|
||||
\expandafter\xdef\csname Rsaecode\currentressource\currentsae\endcsname{#1} %
|
||||
\expandafter\xdef\csname Rsaename\currentressource\currentsae\endcsname{#2} %
|
||||
\expandafter\xdef\csname Rsaecode\currentRressource\currentRsae\endcsname{#1} %
|
||||
\expandafter\xdef\csname Rsaename\currentRressource\currentRsae\endcsname{#2} %
|
||||
}
|
||||
|
||||
% ****************************
|
||||
% Ajout des prerequis
|
||||
\def\ajoutRprerequis#1#2{
|
||||
\addtocounter{cptressourceprerequis\currentressource}{1} % le compteur du prerequis dans la ressource
|
||||
\xdef\currentprerequis{\Alph{cptressourceprerequis\currentressource}} % La lettre
|
||||
\addtocounter{cptRprerequis\currentRressource}{1} % le compteur du prerequis dans la ressource
|
||||
\xdef\currentprerequis{\Alph{cptRprerequis\currentRressource}} % La lettre
|
||||
|
||||
\expandafter\xdef\csname Rprerequiscode\currentressource\currentprerequis\endcsname{#1} %
|
||||
\expandafter\xdef\csname Rprerequisname\currentressource\currentprerequis\endcsname{#2} %
|
||||
\expandafter\xdef\csname Rprerequiscode\currentRressource\currentprerequis\endcsname{#1} %
|
||||
\expandafter\xdef\csname Rprerequisname\currentRressource\currentprerequis\endcsname{#2} %
|
||||
}
|
||||
|
||||
% ****************************
|
||||
% Ajout des mots-clés
|
||||
\def\ajoutRmotscles#1{
|
||||
\expandafter\xdef\csname Rmotscles\currentressource\endcsname{#1} % descriptif
|
||||
\expandafter\xdef\csname Rmotscles\currentRressource\endcsname{#1} % descriptif
|
||||
}
|
||||
|
||||
|
||||
% **********************************************
|
||||
% Déclaration d'une SAé
|
||||
% **********************************************
|
||||
|
||||
|
||||
% ****************************
|
||||
% Déclaration de la ressource :
|
||||
% \nouvellesae{code_sae}{intitule_sae}
|
||||
\def\nouvellesae#1#2{
|
||||
\addtocounter{cptsae}{1} % Ajoute une ressource (tous semestres confondu)
|
||||
\addtocounter{cptS\currentsemestre}{1} % Ajoute une ressource au semestre
|
||||
\def\currentSsae{\currentsemestre\Alph{cptsae}} % Ressource RAA = A pour semestre 1 puis A pour ressource n°1
|
||||
|
||||
\expandafter\xdef\csname Scode\currentSsae\endcsname{#1} % code
|
||||
\expandafter\xdef\csname Sname\currentSsae\endcsname{#2} % nom/intitule
|
||||
\expandafter\xdef\csname Ssem\currentSsae\endcsname{\csname semestrenumero\currentSsae\endcsname} % nom du semestre
|
||||
|
||||
\newcounter{cptScomp\currentSsae} % le compteur de compétences rattachées à la ressource
|
||||
\newcounter{cptSressource\currentSsae} % Le compteur de ressources dans la SAé
|
||||
}
|
||||
|
||||
% ****************************
|
||||
% Ajout des heures à la saé courante
|
||||
\def\ajoutSheures#1#2#3{
|
||||
\expandafter\xdef\csname Straining\currentSsae\endcsname{#1} % heures de formation encadrées
|
||||
\expandafter\xdef\csname Stp\currentSsae\endcsname{#2} % heures de tp
|
||||
\expandafter\xdef\csname Sprojet\currentSsae\endcsname{#3} % heures de projet
|
||||
}
|
||||
|
||||
% ****************************
|
||||
% Ajout du descriptif (description des objectifs)
|
||||
\def\ajoutSdescription#1{
|
||||
\begingroup\let\+\relax
|
||||
\expandafter\gdef\csname Rdescriptif\currentSsae\endcsname{\noexpand #1} % descriptif
|
||||
\endgroup
|
||||
}
|
||||
|
||||
|
||||
% ****************************
|
||||
% Ajout des compétences
|
||||
% \ajoutcompetence{nom_competence}{niveau}
|
||||
\def\ajoutScompetence#1#2{
|
||||
\addtocounter{cptScomp\currentSsae}{1} % le compteur de la comp dans la ressource
|
||||
\xdef\currentScomp{\Alph{cptScomp\currentSsae}} % La lettre de la comp dans la ressource
|
||||
|
||||
|
||||
\expandafter\xdef\csname Scomp\currentSsae\currentScomp\endcsname{#1} % le nom de la comp
|
||||
\expandafter\xdef\csname Sniveau\currentSsae\currentScomp\endcsname{#2} % le nom de la comp
|
||||
|
||||
\newcounter{cptSac\currentSsae\currentScomp} % le compteur d'ac pour la compétence rattachées à la ressource
|
||||
}
|
||||
|
||||
% ****************************
|
||||
% Ajout d'AC aux compétences
|
||||
\def\ajoutSac#1#2{
|
||||
\addtocounter{cptSac\currentSsae\currentScomp}{1} % le compteur de l'ac pour la comp dans la ressource
|
||||
\xdef\currentSac{\Alph{cptSac\currentSsae\currentScomp}} % La lettre de l'ac pour la comp dans la ressource
|
||||
|
||||
\expandafter\xdef\csname Raccode\currentSsae\currentScomp\currentSac\endcsname{#1} % le nom de la comp
|
||||
\expandafter\xdef\csname Racname\currentSsae\currentScomp\currentSac\endcsname{#2} % le nom de la comp
|
||||
}
|
||||
|
||||
% ****************************
|
||||
% Ajout des ressources mobilisées par l'étudiant
|
||||
\def\ajoutSressources#1#2{
|
||||
\addtocounter{cptSressource\currentSsae}{1} % le compteur de la sae dans la ressource
|
||||
\xdef\currentSressource{\Alph{cptSressource\currentSsae}} % La lettre
|
||||
|
||||
\expandafter\xdef\csname Sressourcecode\currentSsae\currentSressource\endcsname{#1} %
|
||||
\expandafter\xdef\csname Sressourcename\currentSsae\currentSressource\endcsname{#2} %
|
||||
}
|
||||
|
||||
% ****************************
|
||||
% Ajout des livrables
|
||||
\def\ajoutSlivrables#1{
|
||||
\begingroup\let\+\relax
|
||||
\expandafter\gdef\csname Rlivrables\currentSsae\endcsname{\noexpand #1} % descriptif
|
||||
\endgroup
|
||||
}
|
||||
|
||||
% ****************************
|
||||
% Ajout des mots-clés
|
||||
\def\ajoutSmotscles#1{
|
||||
\expandafter\xdef\csname Smotscles\currentSsae\endcsname{#1} % mots-clés
|
||||
}
|
||||
|
||||
|
||||
|
@ -14,7 +14,7 @@
|
||||
\xdef\CODE{#1} % le code de la ressource sous la forme AA
|
||||
\xdef\COMP{#2} % le code de la compétence sous la forme A
|
||||
|
||||
\forLoop{1}{\value{cptressourceac\CODE\COMP}}{noligne}{
|
||||
\forLoop{1}{\value{cptRac\CODE\COMP}}{noligne}{
|
||||
\xdef\contenu{{\csname Raccode\CODE\COMP\Alph{noligne}\endcsname} |
|
||||
{\csname Racname\CODE\COMP\Alph{noligne}\endcsname}}
|
||||
\contenu
|
||||
@ -26,11 +26,11 @@
|
||||
% Tableau des SAE
|
||||
\newcommand*{\tableauSAE}[1]{%
|
||||
\xdef\CODE{#1} % le code de la ressource sous la forme AA
|
||||
\ifthenelse{\equal{\value{cptressourcesae\CODE}}{0}}{ % Si pas de prérequis
|
||||
\ifthenelse{\equal{\value{cptRsae\CODE}}{0}}{ % Si pas de prérequis
|
||||
Aucune
|
||||
}{
|
||||
\begin{tabular}[t]{@{}T@{}}%
|
||||
\forLoop{1}{\value{cptressourcesae\CODE}}{noligne}{
|
||||
\forLoop{1}{\value{cptRsae\CODE}}{noligne}{
|
||||
\xdef\contenu{{\csname Rsaecode\CODE\Alph{noligne}\endcsname} |
|
||||
{\csname Rsaename\CODE\Alph{noligne}\endcsname}}
|
||||
\contenu
|
||||
@ -43,12 +43,12 @@
|
||||
% Tableau des pré-requis
|
||||
\newcommand*{\tableauPrerequis}[1]{%
|
||||
\xdef\CODE{#1} % le code de la ressource sous la forme AA
|
||||
\ifthenelse{\equal{\value{cptressourceprerequis\CODE}}{0}}{ % Si pas de prérequis
|
||||
\ifthenelse{\equal{\value{cptRprerequis\CODE}}{0}}{ % Si pas de prérequis
|
||||
Aucun
|
||||
}{ % Si des pré-requis
|
||||
\begin{tabular}[t]{@{}T@{}}%
|
||||
|
||||
\forLoop{1}{\value{cptressourceprerequis\CODE}}{noligne}{
|
||||
\forLoop{1}{\value{cptRprerequis\CODE}}{noligne}{
|
||||
\xdef\contenu{{\csname Rprerequiscode\CODE\Alph{noligne}\endcsname} |
|
||||
{\csname Rprerequisname\CODE\Alph{noligne}\endcsname}}
|
||||
\contenu
|
||||
|
@ -93,19 +93,19 @@ bottom=15mm
|
||||
% \tableauAC{AA}{A}
|
||||
|
||||
\newcounter{noressource}
|
||||
|
||||
\newcounter{nosae}
|
||||
% Les ressources du semestre 1
|
||||
\forLoop{1}{\value{cptressourceA}}{noressource}{
|
||||
%A\Alph{noressource}
|
||||
\tableauRessource{A\Alph{noressource}}
|
||||
\newpage
|
||||
}
|
||||
%\forLoop{1}{\value{cptRA}}{noressource}{
|
||||
%%A\Alph{noressource}
|
||||
%\tableauRessource{A\Alph{noressource}}
|
||||
%\newpage
|
||||
%}
|
||||
|
||||
\forLoop{1}{\value{cptressourceB}}{noressource}{
|
||||
%A\Alph{noressource}
|
||||
\tableauRessource{B\Alph{noressource}}
|
||||
\newpage
|
||||
}
|
||||
%\forLoop{1}{\value{cptressourceB}}{noressource}{
|
||||
%%A\Alph{noressource}
|
||||
%\tableauRessource{B\Alph{noressource}}
|
||||
%\newpage
|
||||
%}
|
||||
|
||||
%\tableauRessource{AA}
|
||||
%\tableauRessource{AB}
|
||||
|
@ -4,36 +4,38 @@
|
||||
\nouveausemestre{}
|
||||
|
||||
\input{ressources/R101.tex}
|
||||
\input{ressources/R102.tex}
|
||||
\input{ressources/R103.tex}
|
||||
\input{ressources/R104.tex}
|
||||
\input{ressources/R105.tex}
|
||||
\input{ressources/R106.tex}
|
||||
\input{ressources/R107.tex}
|
||||
\input{ressources/R108.tex}
|
||||
\input{ressources/R109.tex}
|
||||
\input{ressources/R110.tex}
|
||||
\input{ressources/R111.tex}
|
||||
\input{ressources/R112.tex}
|
||||
\input{ressources/R113.tex}
|
||||
\input{ressources/R114.tex}
|
||||
\input{ressources/R115.tex}
|
||||
%\input{ressources/R102.tex}
|
||||
%\input{ressources/R103.tex}
|
||||
%\input{ressources/R104.tex}
|
||||
%\input{ressources/R105.tex}
|
||||
%\input{ressources/R106.tex}
|
||||
%\input{ressources/R107.tex}
|
||||
%\input{ressources/R108.tex}
|
||||
%\input{ressources/R109.tex}
|
||||
%\input{ressources/R110.tex}
|
||||
%\input{ressources/R111.tex}
|
||||
%\input{ressources/R112.tex}
|
||||
%\input{ressources/R113.tex}
|
||||
%\input{ressources/R114.tex}
|
||||
%\input{ressources/R115.tex}
|
||||
|
||||
\input{saes/SAE11.tex}
|
||||
|
||||
% Semestre 2
|
||||
\nouveausemestre{}
|
||||
|
||||
\input{ressources/R201.tex}
|
||||
\input{ressources/R202.tex}
|
||||
\input{ressources/R203.tex}
|
||||
\input{ressources/R204.tex}
|
||||
\input{ressources/R205.tex}
|
||||
\input{ressources/R206.tex}
|
||||
\input{ressources/R207.tex}
|
||||
\input{ressources/R208.tex}
|
||||
\input{ressources/R209.tex}
|
||||
\input{ressources/R210.tex}
|
||||
\input{ressources/R211.tex}
|
||||
\input{ressources/R212.tex}
|
||||
\input{ressources/R213.tex}
|
||||
\input{ressources/R214.tex}
|
||||
%
|
||||
%% Semestre 2
|
||||
%\nouveausemestre{}
|
||||
%
|
||||
%\input{ressources/R201.tex}
|
||||
%\input{ressources/R202.tex}
|
||||
%\input{ressources/R203.tex}
|
||||
%\input{ressources/R204.tex}
|
||||
%\input{ressources/R205.tex}
|
||||
%\input{ressources/R206.tex}
|
||||
%\input{ressources/R207.tex}
|
||||
%\input{ressources/R208.tex}
|
||||
%\input{ressources/R209.tex}
|
||||
%\input{ressources/R210.tex}
|
||||
%\input{ressources/R211.tex}
|
||||
%\input{ressources/R212.tex}
|
||||
%\input{ressources/R213.tex}
|
||||
%\input{ressources/R214.tex}
|
||||
|
@ -1,4 +1,4 @@
|
||||
from ressource import Ressource
|
||||
from ressource import Ressource, SAE
|
||||
from ressourcedocx import *
|
||||
import pypandoc
|
||||
|
||||
@ -13,7 +13,6 @@ fichiers = os.listdir(REPERTOIRE_RESSOURCES)
|
||||
fichiers = sorted(fichiers) # tri par ordre alphabétique
|
||||
|
||||
ressources = {"S1": [], "S2": []}
|
||||
saes = {"S1": [], "S2": []}
|
||||
for file in fichiers:
|
||||
fichieryaml = REPERTOIRE_RESSOURCES + "/" + file
|
||||
if file.startswith("R"): # si c'est une ressources
|
||||
@ -21,6 +20,20 @@ for file in fichiers:
|
||||
sem = "S" + str(r.ressource["semestre"])
|
||||
ressources[sem].append(r)
|
||||
|
||||
# Chargement des ressources
|
||||
REPERTOIRE_SAE = "export"
|
||||
REPERTOIRE_LATEX = "../latex/saes"
|
||||
fichiers = os.listdir(REPERTOIRE_RESSOURCES)
|
||||
fichiers = sorted(fichiers) # tri par ordre alphabétique
|
||||
|
||||
saes = {"S1": [], "S2": []}
|
||||
for file in fichiers:
|
||||
fichieryaml = REPERTOIRE_RESSOURCES + "/" + file
|
||||
if file.startswith("S"): # si c'est une sae
|
||||
s = SAE(fichieryaml)
|
||||
sem = "S" + str(s.sae["semestre"])
|
||||
saes[sem].append(s)
|
||||
|
||||
# Eléments de tests
|
||||
r1 = ressources["S1"][0]
|
||||
|
||||
@ -30,7 +43,8 @@ output1 = pypandoc.convert_text(temp1, 'tex', format='md',
|
||||
|
||||
|
||||
print("ici")
|
||||
# Export latex
|
||||
# Export latex des ressources
|
||||
if False:
|
||||
for sem in ressources:
|
||||
for r in ressources[sem]:
|
||||
|
||||
@ -39,3 +53,13 @@ for sem in ressources:
|
||||
with open(fichierlatex, "w", encoding="utf8") as fid:
|
||||
fid.write(contenu)
|
||||
print(f"Export de {fichierlatex} ")
|
||||
|
||||
# Export latex des ressources
|
||||
for sem in saes:
|
||||
for s in saes[sem]:
|
||||
|
||||
fichierlatex = REPERTOIRE_LATEX + "/" + "{}.tex".format(s.sae["code"].replace("É", "E"))
|
||||
contenu = s.to_latex()
|
||||
with open(fichierlatex, "w", encoding="utf8") as fid:
|
||||
fid.write(contenu)
|
||||
print(f"Export de {fichierlatex} ")
|
37
python/pn/modele_sae.tex
Normal file
37
python/pn/modele_sae.tex
Normal file
@ -0,0 +1,37 @@
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Ressources
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\nouvellesae{#code}{#titre}
|
||||
|
||||
\ajoutSheures{#heures_encadrees}{#heures_tp}{#heures_projet}
|
||||
|
||||
|
||||
%% Les compétences et les ACs
|
||||
\ajoutScompetence{RT1-Administrer}{\niveauA}
|
||||
|
||||
#compRT1
|
||||
|
||||
\ajoutScompetence{RT2-Connecter}{\niveauA}
|
||||
|
||||
#compRT2
|
||||
|
||||
\ajoutScompetence{RT3-Programmer}{\niveauA}
|
||||
|
||||
#compRT3
|
||||
|
||||
% Le description
|
||||
\ajoutSdescription{
|
||||
#description
|
||||
}
|
||||
|
||||
% Les ressources
|
||||
#ressources
|
||||
|
||||
% Livrable
|
||||
\ajoutSlivrables{
|
||||
#livrables
|
||||
}
|
||||
|
||||
% Mots-clés
|
||||
\ajoutSmotscles{#motscles}
|
@ -103,3 +103,84 @@ class Ressource():
|
||||
|
||||
chaine = chaine.replace("\\tightlist\n", "")
|
||||
return chaine
|
||||
|
||||
|
||||
class SAE():
|
||||
"""Modélise une ressource lorsqu'elle est extraite d'un yaml"""
|
||||
__LOGGER = logging.getLogger(__name__)
|
||||
|
||||
def __init__(self, fichieryaml):
|
||||
with open(fichieryaml, "r", encoding="utf8") as fid:
|
||||
yaml = ruamel.yaml.YAML()
|
||||
try:
|
||||
self.sae = yaml.load(fid.read())
|
||||
except:
|
||||
Ressource.__LOGGER.warning(f"Pb de chargement de {fichieryaml}")
|
||||
|
||||
def to_latex(self, modele="pn/modele_sae.tex"):
|
||||
"""Génère le code latex décrivant la ressource"""
|
||||
modlatex = get_modele(modele) #"pn/modele_ressource.tex")
|
||||
|
||||
# Préparation des ac
|
||||
ajoutac = "\\ajoutSac{%s}{%s}"
|
||||
compRT = []
|
||||
for accomp in self.sae["acs"]:
|
||||
comps = []
|
||||
for no_ac in range(len(self.sae["acs"][accomp])): # les ac de la comp
|
||||
code_ac = self.sae["acs"][accomp][no_ac]
|
||||
comps.append( ajoutac % (code_ac, DATA_ACS[accomp][code_ac]) )
|
||||
compRT.append("\n".join(comps))
|
||||
|
||||
# Préparation des ressources
|
||||
ajoutressources = "\\ajoutSressources{%s}{%s}"
|
||||
resRT = []
|
||||
for (i, res) in enumerate(self.sae["ressources"]): # in range(len(self.apprentissages)):
|
||||
resRT.append(ajoutressources % (res, get_officiel_ressource_name_by_code(res)))
|
||||
ressources = "\n".join(resRT)
|
||||
|
||||
|
||||
# préparation du descriptif
|
||||
descriptif = self.sae["description"]
|
||||
if descriptif == "Aucun":
|
||||
descriptif = ""
|
||||
SAE.__LOGGER.warning(f"{self.sae['titre']} n'a pas de description")
|
||||
else:
|
||||
descriptif = descriptif.replace("\n", "\n\n").replace("\n" * 4, "\n") # corrige les suppressions de ligne à la relecture du yaml
|
||||
descriptif = md_to_latex(descriptif)
|
||||
|
||||
# préparation des livrables
|
||||
livrables = self.sae["livrables"]
|
||||
if livrables == "Aucun":
|
||||
livrables = ""
|
||||
SAE.__LOGGER.warning(f"{self.sae['titre']} n'a pas de livrables")
|
||||
else:
|
||||
livrables = livrables.replace("\n", "\n\n").replace("\n" * 4, "\n") # corrige les suppressions de ligne à la relecture du yaml
|
||||
livrables = md_to_latex(livrables)
|
||||
|
||||
chaine = ""
|
||||
chaine = TemplateLatex(modlatex).substitute(code=self.sae["code"],
|
||||
titre=self.sae["titre"],
|
||||
heures_encadrees=self.sae["heures_encadrees"],
|
||||
heures_tp=self.sae["tp"],
|
||||
heures_projet=self.sae["projet"],
|
||||
compRT1=compRT[0],
|
||||
compRT2=compRT[1],
|
||||
compRT3=compRT[2],
|
||||
description=caracteres_recalcitrants(descriptif),
|
||||
ressources=ressources,
|
||||
livrables= livrables,
|
||||
motscles = caracteres_recalcitrants(self.sae["motscles"]),
|
||||
)
|
||||
# chaine = chaine.replace("&", "\&")
|
||||
|
||||
chaine = chaine.replace("\\tightlist\n", "")
|
||||
return chaine
|
||||
|
||||
def md_to_latex(contenu):
|
||||
"""Réalise la conversion markdown to latex avec pypandoc"""
|
||||
contenu = pypandoc.convert_text(contenu, 'tex', format='md',
|
||||
extra_args=['--atx-headers'])
|
||||
contenu = contenu.replace("\r\n", "\n")
|
||||
contenu = caracteres_recalcitrants(contenu)
|
||||
contenu = remove_ligne_vide(contenu)
|
||||
return contenu
|
Loading…
Reference in New Issue
Block a user