import subprocess import re # Fichier Org d'origine fichier_org = "livre.org" style_css = "style.css" # Copie du fichier Org fichier_org_copie = "livre_org_copie.org" # Créer une copie du fichier Org with open(fichier_org, "r") as fichier: contenu_org = fichier.read() with open(style_css, "r") as fichier: contenu_css = fichier.read() # Compter le nombre de lignes du fichier original nb_lignes_origine = len(contenu_org.splitlines()) # Supprimer les titres qui ne contiennent pas le tag :title: contenu_org = re.sub(r"^\*+.*\n", lambda x: x.group() if ":title:" in x.group() else "", contenu_org, flags=re.MULTILINE) # Effacer toutes les occurences de ":title:" contenu_org = re.sub(r":title:", "", contenu_org) # Compter le nombre de lignes du fichier modifié nb_lignes_modifie = len(contenu_org.splitlines()) # Afficher le nombre de lignes supprimées nb_lignes_supprimees = nb_lignes_origine - nb_lignes_modifie print(f"Nombre de lignes supprimées : {nb_lignes_supprimees}") # Écrire la copie du fichier Org with open(fichier_org_copie, "w") as fichier: fichier.write(contenu_org) print('Convertir la copie du fichier Org en HTML') # Convertir la copie du fichier Org en HTML process = subprocess.run(["pandoc", "livre_org_copie.org", "-o", "livre.html"], capture_output=True, text=True) # Afficher les messages de console du subprocess print(process.stdout) print(process.stderr) # ouvrir le html et insérer le style css TODO with open("livre.html", "r") as fichier: contenu_html = fichier.read() contenu_html = re.sub("", "", contenu_org) with open(fichier_org_copie, "w") as fichier: fichier.write(contenu_org) print('Convertir la copie du fichier Org en pdf') process = subprocess.run(["pandoc", "livre.org", "-o", "livre.pdf"], capture_output=True, text=True) # Afficher les messages de console du subprocess print(process.stdout) print(process.stderr) print('Convertir la copie du fichier Org en ebook') process = subprocess.run(["pandoc", "livre.org", "-o", "livre.epub"], capture_output=True, text=True) # Afficher les messages de console du subprocess print(process.stdout) print(process.stderr)