|
@@ -1,6 +1,7 @@
|
|
|
#
|
|
#
|
|
|
from jinja2 import Environment, FileSystemLoader
|
|
from jinja2 import Environment, FileSystemLoader
|
|
|
import os,yaml
|
|
import os,yaml
|
|
|
|
|
+
|
|
|
#
|
|
#
|
|
|
def doTitre(d):
|
|
def doTitre(d):
|
|
|
#path= f"{os.getcwd()}/../Jinja"
|
|
#path= f"{os.getcwd()}/../Jinja"
|
|
@@ -26,15 +27,36 @@ def doTitre(d):
|
|
|
return template.render(di=d)
|
|
return template.render(di=d)
|
|
|
#
|
|
#
|
|
|
if __name__ == '__main__':
|
|
if __name__ == '__main__':
|
|
|
|
|
+ #---clés du fichier data.yml
|
|
|
|
|
+ data_yml_mandatory_keys=['fichier', 'date', 'auteur', 'titre']
|
|
|
|
|
+ data_yml_order=['date','type','auteur','statut','titre']
|
|
|
|
|
+ #
|
|
|
|
|
+
|
|
|
with open("data.yml") as f:
|
|
with open("data.yml") as f:
|
|
|
d=yaml.safe_load(f)
|
|
d=yaml.safe_load(f)
|
|
|
- if d["type"]=="Communication":
|
|
|
|
|
- d["statut"]="membre titulaire"
|
|
|
|
|
- else:
|
|
|
|
|
- d["statut"]=""
|
|
|
|
|
|
|
+ # on vérifie que le fichier "data.yml" est correct:
|
|
|
|
|
+ for x in data_yml_mandatory_keys: #vérifier la présence des
|
|
|
|
|
+ #clés obligatoires
|
|
|
|
|
+ if not x in d.keys():
|
|
|
|
|
+ raise Exception(f"\n\n Il manque la clé {x} dans data.yml\n\n")
|
|
|
|
|
+ # si statut est défini, type doit l'être aussi:
|
|
|
|
|
+
|
|
|
|
|
+ if "statut" in d.keys(): # membre t=itulaire, correspondant, d'honneur...
|
|
|
|
|
+ if "type" not in d.keys():
|
|
|
|
|
+ raise Exception(f"\n\n statut est défini, mais pas type\n\n")
|
|
|
|
|
+ add_virgule = True
|
|
|
|
|
+ else: # si statut n'est pas défini, on le définit à
|
|
|
|
|
+ # " " et type à "Conférence".
|
|
|
|
|
+ add_virgule =False
|
|
|
|
|
+ d["statut"]=" "
|
|
|
|
|
+ if "type" not in d.keys():
|
|
|
|
|
+ d["type"]="Conférence"
|
|
|
|
|
+ #
|
|
|
|
|
+ add_virgule = True
|
|
|
|
|
+
|
|
|
|
|
|
|
|
print("data_yml lu")
|
|
print("data_yml lu")
|
|
|
T=doTitre(d)
|
|
T=doTitre(d)
|
|
|
- print(T)
|
|
|
|
|
|
|
+ #print(T)
|
|
|
with open("titre.tex","w") as f:
|
|
with open("titre.tex","w") as f:
|
|
|
f.write(T)
|
|
f.write(T)
|