Compare commits

..

2 Commits

Author SHA1 Message Date
6607af69c9 add restimation du temps de rédaction 2024-10-20 18:01:41 +02:00
262959b31f add clean org 2024-10-20 17:56:04 +02:00
2 changed files with 68 additions and 1 deletions

63
clean_org_file.py Executable file
View File

@ -0,0 +1,63 @@
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)

View File

@ -74,6 +74,9 @@ def genre_de_livre(nombre_de_mots):
def temps_de_lecture(nombre_de_signes):
return round(nombre_de_signes / 80 * 60)
def temps_de_redaction(nombre_de_signes, mots_par_minute):
return round(nombre_de_signes / mots_par_minute * 60)
def format_time(seconds):
minutes, seconds = divmod(seconds, 60)
hours, minutes = divmod(minutes, 60)
@ -88,4 +91,5 @@ sec_count = sum_mots*6
print(f"\n Total : \n\t {format_with_spaces(sum_mots)} mots.\n\t {format_with_spaces(sec_count)} signes espaces compris.\n\t {format_with_spaces(count_chapitres)} chapitres.")
print(f"Estimation de pages A4: {nombre_de_pages(sum_mots)} ")
print(f"Genre de livre: {genre_de_livre(sum_mots)}")
print(f"Estimation du temps de lecture: {format_time(temps_de_lecture(sum_mots))}")
print(f"Estimation du temps de lecture: {forma t_time(temps_de_lecture(sum_mots))}")
print(f"Estimation du temps de rédaction: {forma t_time(temps_de_redaction(sum_mots))}")