diff --git a/clean_org_file.py b/clean_org_file.py deleted file mode 100755 index dfb4999..0000000 --- a/clean_org_file.py +++ /dev/null @@ -1,63 +0,0 @@ -import argparse -import re - - -def upper_capital_prefix_postfix(match,prefix,postfix): - return prefix + upper_capital(match) + postfix - -def upper_capital(match): - return match.group(1).capitalize() - -def upper_capital_dot(match): - return upper_capital_prefix_postfix(match, '','.') - -def upper_capital_dot_interrogation(match): - return upper_capital_prefix_postfix(match, '','?') - -def upper_capital_dot_exclamation(match): - return upper_capital_prefix_postfix(match, '','!') - -def upper_capital_org_title(match): - return upper_capital_prefix_postfix(match, '* ','') - -def upper_capital_tiret(match): - return '- ' + upper_capital(match) - - -def normalize_text(content): - # Remplacer les doubles ou plus d'espaces par des espaces simples - content = re.sub(r'\s+',' ', content) - # Remplacer les retours à la ligne consécutifs supérieurs à 2 par au maximum 2 - # content = re.sub(r'\n\n\n', '\n\n', content) - # Corriger les règles d'espacement avec les deux points - # content = re.sub(r'\s+', '. ', content) - # Remplacer les eo par des vrais e dans l'o - content = re.sub(r'eo', 'œ', content) - # Remplacer trois points par le vrai caractère trois points - content = re.sub(r'\.\.\.|\.{3}', '…', content) - return content - -def capitalize_text(file_path): - with open(file_path, 'r') as file: - content = file.read() - # Capitaliser les premiers mots des phrases - content = re.sub(r'(\w+.*)\.', upper_capital_dot, content) - content = re.sub(r'(\w+.*)\?', upper_capital_dot_interrogation, content) - content = re.sub(r'(\w+.*)\!', upper_capital_dot_exclamation, content) - # Capitaliser les mots dans les titres Org-mode - # content = re.sub(r'\*+\[([^\]]+)\]', r'* \1', content) - content = re.sub(r'\*+\s(\w+)', upper_capital_org_title, content) - # Capitaliser les éléments de liste - content = re.sub(r'\-\s*(\w+)', upper_capital_tiret, content) - - - content = normalize_text(content) - - with open(file_path, 'w') as file: - file.write(content) - -if __name__ == '__main__': - parser = argparse.ArgumentParser(description='Capitaliser les premiers mots des phrases dans un fichier texte.') - parser.add_argument('file_path', help='Le chemin du fichier à corriger.') - args = parser.parse_args() - capitalize_text(args.file_path) diff --git a/format_typo.py b/format_typo.py index c5430d0..e2ed025 100644 --- a/format_typo.py +++ b/format_typo.py @@ -65,9 +65,22 @@ def sauvegarder_si_modifie(contenu_corrige, nb_maj, nb_sauts, nb_espaces): else: print("Aucune modification à sauvegarder") +def corriger_typo_entete(contenu): + """Corrige les entêtes orgmode en remplaçant ': ' par ':' uniquement dans les lignes d'entête.""" + lignes = contenu.split('\n') + lignes_corrigees = [] + + for ligne in lignes: + if ligne.startswith('#+'): # Ne traite que les lignes d'entête + ligne = re.sub(r"^(#\+[A-Z_]+): ", r"\1:", ligne) + lignes_corrigees.append(ligne) + return '\n'.join(lignes_corrigees) if __name__ == "__main__": contenu_corrige = corriger_typo(contenu) + + + contenu_corrige = corriger_typo_entete(contenu_corrige) nb_maj, nb_sauts, nb_entetes, nb_espaces = comparer_textes(contenu, contenu_corrige) sauvegarder_si_modifie(contenu_corrige, nb_maj, nb_sauts, nb_espaces)