42 lines
1.5 KiB
Python
42 lines
1.5 KiB
Python
|
import re
|
||
|
import os
|
||
|
def trouver_nom_article(fichier_org):
|
||
|
print('fichier_org, ',fichier_org)
|
||
|
with open(fichier_org, 'r') as file:
|
||
|
lignes = file.readlines()
|
||
|
|
||
|
# Expressions régulières pour trouver les titres de niveau 1 et 2
|
||
|
titre_niveau_1 = r'^\*+ (.+)$'
|
||
|
titre_niveau_2 = r'^\*\*+ (.+)$'
|
||
|
|
||
|
nom_article = None
|
||
|
|
||
|
# Itérer sur les lignes du fichier
|
||
|
for ligne in lignes:
|
||
|
# Rechercher un titre de niveau 1
|
||
|
titre_niveau_1_match = re.match(titre_niveau_1, ligne)
|
||
|
if titre_niveau_1_match:
|
||
|
titre_niveau_1_texte = titre_niveau_1_match.group(1)
|
||
|
if titre_niveau_1_texte.lower() != "article":
|
||
|
nom_article = titre_niveau_1_texte
|
||
|
break
|
||
|
else:
|
||
|
# Si le premier titre de niveau 1 est "Article", rechercher le premier titre de niveau 2
|
||
|
titre_niveau_2_match = re.match(titre_niveau_2, ligne)
|
||
|
if titre_niveau_2_match:
|
||
|
nom_article = titre_niveau_2_match.group(1)
|
||
|
break
|
||
|
print(f"Nom de l'article : {nom_article}")
|
||
|
|
||
|
return nom_article
|
||
|
|
||
|
|
||
|
# Chemin absolu du dossier parent (pour sauver le fichier d'index)
|
||
|
dossier_parent = os.path.dirname(os.path.abspath(__file__))
|
||
|
|
||
|
nom = trouver_nom_article(dossier_parent+'/sources/cipherbliss_blog/contact.org')
|
||
|
print('nom ',nom)
|
||
|
|
||
|
nom = trouver_nom_article(dossier_parent+'/sources/cipherbliss_blog/lang_fr/20210927092238_cipherbliss_blog_238_des-sauvegardes-qui-durent-mille-ans.org')
|
||
|
|
||
|
print('nom ',nom)
|