up logging of generation

This commit is contained in:
Tykayn 2025-02-23 19:12:15 +01:00 committed by tykayn
parent fa8636185d
commit ce6eb680b7
23 changed files with 340 additions and 374 deletions

View file

@ -18,20 +18,17 @@ start_time = time.time()
# Configs pour tester
generate_linkings_json = True
generate_articles = True
run_pandoc = True # le plus long quand on a beaucoup d'articles
# run_pandoc = False
run_gemini = True
run_gemini = False
# Configurer argparse pour prendre le blog en argument
parser = argparse.ArgumentParser(description='Générer une liste des derniers articles de blog.')
parser.add_argument('blog', type=str, help='Nom du dossier du blog à traiter', default='tykayn_blog')
# parser.add_argument('--run_gemini', type=str, help='Activer ou non la génération des billets gemini', default=True)
parser.add_argument('blog', type=str, help='Nom du dossier du blog à traiter', default='cipherbliss_blog')
parser.add_argument('--run_gemini', type=str, help='Activer ou non la génération des billets gemini', default=False)
parser.add_argument('--run_pandoc', type=str, help='Activer ou non la génération des fichiers html', default=True)
args = parser.parse_args()
# run_gemini = args.run_gemini
run_gemini = args.run_gemini
run_pandoc = args.run_pandoc
# Fonction pour extraire le basename d'un fichier
def get_basename(file_name):
return os.path.splitext(file_name)[0]
@ -90,16 +87,25 @@ Navigation:
try:
with open(destination_gmi+'/'+output_filename_slug+'.gmi', 'w', encoding='utf-8') as f:
f.write(output)
print(f"Fichier GMI sauvegardé avec succès : {output_filename_slug}")
# print(f"Fichier GMI sauvegardé avec succès : {output_filename_slug}")
except OSError as e:
print(f"Erreur lors de la sauvegarde du fichier : {e}")
return output
if generate_linkings_json :
count_articles = len(os.listdir(directory))
counter=0
print(f"Génération des liens entre articles pour {count_articles} articles")
print(f"run_pandoc: {run_pandoc}")
print(f"run_gemini: {run_gemini}")
# Parcourir les fichiers du dossier
for file_name in os.listdir(directory):
if file_name.endswith('.org'):
counter+=1
if counter % 10 == 0:
print(f"{time.strftime('%H:%M:%S')} : Articles traités : {counter}/{count_articles}")
file_path = os.path.join(directory, file_name)
with open(file_path, "r", encoding="utf-8") as f:
content = f.read()
@ -151,6 +157,7 @@ if generate_linkings_json :
if run_pandoc and rebuild_this_article_html:
# convertir le contenu d'article org vers html
print(f"{time.strftime('%H:%M:%S')} : Conversion de {file_name} en html")
html_content = pypandoc.convert_text(content_without_h1, 'html', format='org')
else:
html_content = content_without_h1
@ -198,7 +205,7 @@ for slug, info in files_dict.items():
html_content = info['html_content']
rewritten_html_content = html_content
for roam_id, slug in articles_roam_id_to_slugs.items():
if roam_id in rewritten_html_content:
if roam_id is not None and isinstance(rewritten_html_content, str) and roam_id in rewritten_html_content:
print(f'{roam_id} -> {slug}')
rewritten_html_content = rewritten_html_content.replace(f'href="#{roam_id}"', f'href="{template_content["NDD"]}/{slug}"')