makeTitre.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #!/home/moi/Memoires/venv/bin/python
  2. #
  3. # fabriquer le titre d'un texte à partir du fichier data.yml
  4. #
  5. from jinja2 import Environment, FileSystemLoader
  6. import os,yaml,sys
  7. #
  8. sys.path.append("/home/moi/Memoires/")
  9. from memmod import *
  10. #
  11. #---clés du fichier data.yml
  12. data_yml_mandatory_keys=['fichier', 'date', 'auteur', 'titre']
  13. data_yml_order=['date','type','auteur','statut','titre']
  14. #
  15. with open("data.yml") as f:
  16. d=yaml.safe_load(f)
  17. # on vérifie que le fichier "data.yml" est correct:
  18. for x in data_yml_mandatory_keys: #vérifier la présence des
  19. #clés obligatoires
  20. if not x in d.keys():
  21. raise Exception(f"\n\n Il manque la clé {x} dans data.yml\n\n")
  22. # si statut est défini, type doit l'être aussi:
  23. if "statut" in d.keys(): # membre t=itulaire, correspondant, d'honneur...
  24. if "type" not in d.keys():
  25. raise Exception(f"\n\n statut est défini, mais pas type\n\n")
  26. add_virgule = True
  27. else: # si statut n'est pas défini, on le définit à
  28. # " " et type à "Conférence".
  29. add_virgule =False
  30. d["statut"]=" "
  31. if "type" not in d.keys():
  32. d["type"]="Conférence"
  33. #
  34. print("data_yml lu")
  35. T=doTitre(d)
  36. #print(T)
  37. with open("titre.tex","w") as f:
  38. f.write(T)
  39. print("fin.")