| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- #
- from jinja2 import Environment, FileSystemLoader
- import os,yaml
- #
- def doTitre(d):
- #path= f"{os.getcwd()}/../Jinja"
- path= "/home/moi/Memoires/Jinja"
- env = Environment(loader=FileSystemLoader(path))
- # 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 "
- if d["statut"] !="":
- d["virgule"]=","
- else:
- d["virgule"]=""
- if "titre_court" not in d.keys():
- d["titre_court"]= d["titre"]
-
- return template.render(di=d)
- #
- 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)
|