import hashlib 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) # def dolabel(k,t): # faire une étiquette "unique" à partir de deux chaines de caratères k et t. s=(k+t).encode("UTF-8") return hashlib.sha1(s).hexdigest() # # Données pour treatline. # # attention, l'ordre est important ! tabler={"textsuperscript{e}":"ieme{}", "textsuperscript{ème}":"ieme{}", "textsuperscript{er}":"ier{}", "\\begin{quote}":"", "\\end{quote}":"", "subsection{":"subsection*{", "\\textquotesingle ":"'", "\\textquotesingle":"", "~":"", } def treatline(l): # Les substitutions éventuelles à faire sur une ligne for x,y in tabler.items(): l=l.replace(x,y) return l def nocite_all(fich): # Créer un nocite{...} avec toutes les entrées du fichier fich # (un fichier .bib). with open(fich) as f: L=f.readlines() all=[] for x in L: if "@" in x: d=x.find("{")+1 e=x.find(",") all.append(x[d:e]) return f"\\nocite{{{','.join(all)}}}" 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) #