|
|
@@ -1,62 +1,41 @@
|
|
|
#
|
|
|
from jinja2 import Environment, FileSystemLoader
|
|
|
-import os,yaml
|
|
|
+import os,yaml,sys
|
|
|
|
|
|
#
|
|
|
-def doTitre(d):
|
|
|
- #path= f"{os.getcwd()}/../Jinja"
|
|
|
- path= "/home/moi/Memoires/Jinja"
|
|
|
- env = Environment(loader=FileSystemLoader(path))
|
|
|
+sys.path.append("/home/moi/Memoires/")
|
|
|
+from memmod import *
|
|
|
+#
|
|
|
|
|
|
- # Load a template
|
|
|
- template = env.get_template('titre.jin')
|
|
|
-#
|
|
|
- if d["auteur"][0].lower()[0] in ("a","e","i","o","u","y"):
|
|
|
- d["de"]=" d'"
|
|
|
- else:
|
|
|
- d["de"]=" de "
|
|
|
+#---clés du fichier data.yml
|
|
|
+data_yml_mandatory_keys=['fichier', 'date', 'auteur', 'titre']
|
|
|
+data_yml_order=['date','type','auteur','statut','titre']
|
|
|
+#
|
|
|
|
|
|
- if d["statut"] !="":
|
|
|
- d["virgule"]=","
|
|
|
- else:
|
|
|
- d["virgule"]=""
|
|
|
+with open("data.yml") as f:
|
|
|
+ d=yaml.safe_load(f)
|
|
|
+# 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 "titre_court" not in d.keys():
|
|
|
- d["titre_court"]= d["titre"]
|
|
|
-
|
|
|
- return template.render(di=d)
|
|
|
+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"
|
|
|
#
|
|
|
-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:
|
|
|
- d=yaml.safe_load(f)
|
|
|
- # 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")
|
|
|
- T=doTitre(d)
|
|
|
- #print(T)
|
|
|
- with open("titre.tex","w") as f:
|
|
|
- f.write(T)
|
|
|
+print("data_yml lu")
|
|
|
+T=doTitre(d)
|
|
|
+#print(T)
|
|
|
+with open("titre.tex","w") as f:
|
|
|
+ f.write(T)
|
|
|
+print("fin.")
|