100 lines
5.5 KiB
Python
100 lines
5.5 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""Apply remaining editorial edits (apostrophe-safe)"""
|
|
import re
|
|
|
|
with open("livre_enfant.md", "r", encoding="utf-8") as f:
|
|
c = f.read()
|
|
|
|
# Helper: replace allowing typographic apostrophe
|
|
def flex_replace(old, new):
|
|
old_flex = old.replace("'", r"['\u2019]")
|
|
old_re = re.compile(re.escape(old).replace("'", r"['\u2019]"))
|
|
if old_re.search(c):
|
|
c2 = old_re.sub(new, c, count=1)
|
|
return True, c2
|
|
return False, c
|
|
|
|
# Ch4b
|
|
old4b = "Arrivé au centre de la colline, il s'arrêta un instant. Le vent continuait de circuler, mais il n'éprouvait plus la même instabilité."
|
|
new4b = "Arrivé au centre de la colline, il s'arrêta un instant. Il se sentait moins fatigué dès qu'il suivait le rythme. Le vent continuait de circuler, mais il n'éprouvait plus la même instabilité."
|
|
if "moins fatigué" not in c and old4b in c:
|
|
c = c.replace(old4b, new4b)
|
|
print("Ch4b OK")
|
|
elif "moins fatigué" in c:
|
|
print("Ch4b skip")
|
|
else:
|
|
# try with typographic apostrophe
|
|
old4b_t = old4b.replace("'", "\u2019")
|
|
if old4b_t in c:
|
|
c = c.replace(old4b_t, new4b.replace("'", "\u2019"))
|
|
print("Ch4b OK (typo)")
|
|
else:
|
|
print("Ch4b FAIL")
|
|
|
|
# Ch5b
|
|
if "mouvement d'inquiétude" in c:
|
|
c = c.replace("Il eut un mouvement d'inquiétude.", "Une inquiétude le traversa.")
|
|
print("Ch5b OK")
|
|
elif "mouvement d" in c and "inquiétude" in c:
|
|
c = re.sub(r"Il eut un mouvement d['\u2019]inquiétude\.", "Une inquiétude le traversa.", c)
|
|
print("Ch5b OK (regex)")
|
|
else:
|
|
print("Ch5b skip")
|
|
|
|
# Ch8a - add "Pour la première fois" at start of Ch8 second paragraph
|
|
old8a = "Éon fit quelques pas. Lorsqu'il suivait l'orientation de la poussée, son corps avançait plus facilement"
|
|
new8a = "Pour la première fois, l'espace lui-même lui disait quelle direction prendre. Éon fit quelques pas. Lorsqu'il suivait l'orientation de la poussée, son corps avançait plus facilement"
|
|
if "l'espace lui-même lui disait" not in c and "Éon fit quelques pas. Lorsqu'il suivait" in c:
|
|
c = c.replace(old8a, new8a)
|
|
print("Ch8a OK")
|
|
else:
|
|
print("Ch8a skip")
|
|
|
|
# Ch8b
|
|
old8b = "En quittant la zone rocheuse, Éon se sentit plus attentif à la manière dont l'espace lui-même orientait les choix."
|
|
new8b = "En quittant la zone rocheuse, Éon avait appris à sentir les trajets qui coûtaient trop cher."
|
|
if "trajets qui coûtaient" not in c and old8b in c:
|
|
c = c.replace(old8b, new8b)
|
|
print("Ch8b OK")
|
|
else:
|
|
print("Ch8b skip")
|
|
|
|
# Ch9 - fuse chutes
|
|
old9 = "Un peu plus loin, Barnabé avait tenu trois secondes sur une plaque plus claire ; Éon s'y engagea en confiance. La terre céda d'un coup. Il s'enfonça jusqu'au mollet et dut s'agripper au bord pour se dégager. Barnabé se fixa sur un point dur et étendit deux bras vers lui. Éon reprit son souffle. Plus loin, voulant aller plus vite, il posa le pied sans vérifier. La terre s'affaissa brusquement ; il s'enfonça jusqu'à la cuisse et resta coincé. Barnabé avait bondi vers une plaque solide à quelques pas. Éon tendit le bras ; trop loin. Son cœur cogna. Il appela. Barnabé revint en glissant sur la terre molle, posa une ventouse sur le bord du trou, puis une autre, et tendit deux bras. Éon s'agrippa. La traction fut lente ; la terre résistait. Quand il sortit enfin, il resta assis un moment, le souffle court. Barnabé se recolla à son poignet sans tapoter."
|
|
new9 = "Un peu plus loin, Barnabé avait tenu trois secondes sur une plaque plus claire ; Éon s'y engagea en confiance. La terre céda d'un coup. Il s'enfonça jusqu'à la cuisse et resta coincé. Barnabé avait bondi vers une plaque solide à quelques pas. Éon tendit le bras ; trop loin. Son cœur cogna. Il appela. Barnabé revint en glissant sur la terre molle, posa une ventouse sur le bord du trou, puis une autre, et tendit deux bras. Éon s'agrippa. La traction fut lente ; la terre résistait. Quand il sortit enfin, il resta assis un moment, le souffle court. Barnabé se recolla à son poignet sans tapoter."
|
|
if "jusqu'au mollet" in c and "jusqu'à la cuisse" in c:
|
|
c = c.replace(old9, new9)
|
|
print("Ch9 OK")
|
|
else:
|
|
print("Ch9 skip")
|
|
|
|
# Ch13bis_b
|
|
old13b = "Depuis ce point, les directions se dessinaient par l'usage, par le fait que certaines voies étaient prises plus souvent, donc devenaient plus faciles à reprendre. Le centre servait à répartir et à relier."
|
|
new13b = "Depuis ce point, les directions se dessinaient par l'usage. Le centre servait aux passages, pas à commander."
|
|
if "pas à commander" not in c and old13b in c:
|
|
c = c.replace(old13b, new13b)
|
|
print("Ch13bis_b OK")
|
|
else:
|
|
print("Ch13bis_b skip")
|
|
|
|
# Ch14
|
|
old14 = "Le mot n'évoquait rien de familier. Il le répéta à voix basse"
|
|
new14 = "Le mot n'évoquait rien de familier, mais il sonnait comme la forêt elle-même. Il le répéta à voix basse"
|
|
if "sonnait comme la forêt" not in c and "Le mot n'évoquait rien de familier" in c:
|
|
c = c.replace(old14, new14)
|
|
print("Ch14 OK")
|
|
else:
|
|
print("Ch14 skip")
|
|
|
|
# Ch16b - add KRUOIN écrit
|
|
old16b = "Le mot rouillé pouvait se stabiliser, lettre après lettre, comme un chemin qu'on reprend jusqu'à ce qu'il tienne."
|
|
new16b = "Le mot rouillé pouvait se stabiliser, lettre après lettre, comme un chemin qu'on reprend jusqu'à ce qu'il tienne. Il écrivit KRUOIN en haut de la page, correctement, lettre après lettre."
|
|
if "Il écrivit KRUOIN en haut" not in c and "Le mot rouillé pouvait se stabiliser" in c:
|
|
c = c.replace(old16b, new16b)
|
|
print("Ch16b OK")
|
|
else:
|
|
print("Ch16b skip")
|
|
|
|
with open("livre_enfant.md", "w", encoding="utf-8") as f:
|
|
f.write(c)
|