En parallèle à ma FI du concours et comme je n’ai rien trouvé de semblable sur l’internet, j’ai écrit un petit script Python qui permet d’extraire toutes les chaînes d’une source I7. Cependant, elle ne se contente pas de les compiler dans un fichier texte, elle s’occupe aussi de remplacer les substitutions (par exemple, « [line break] » sera remplacé par un saut de ligne, et « [bracket] » par un crochet ouvrant).
Ça permet de passer son texte dans un correcteur orthographique, sans que celui-ci ne devienne fou avec ces crochets partout qui ne veulent rien dire.
Malheureusement, le code ne prend pas encore en compte les conditions et les « one of », entre autres choses. Mon plan est que pour chaque chaîne contenant ces structures, le script écrive plusieurs fois la chaîne, dans toutes les combinaisons possibles (quand la condition est vrai ou fausse ou pour chaque possibilité du « one of »).
J’imagine que la meilleure façon de faire ça est d’utiliser du regex pour simplifier la chaîne. Par exemple :
"Salut ! [if condition 1]Blabla[else if condition 2]Patati[else]Patata[end if]. Au revoir !"
deviendrait
"Salut ! [[Blabla|Patati|Patata]]. Au revoir !"
Après, il suffirait d’analyser la chaîne pour choisir un élément dans chaque ensemble entre double crochets.
À moins que quelqu’un a une meilleure idée ? [ÉDITION : En fait j’ai décidé de laisser tomber ; voir message ci-dessous.]
Mais bref, ça se nomme « I7extract.py » et c’est disponible ici [ÉDITION : mise à jour du lien] :
https://bitbucket.org/Natrium729/inform-7-text-extractor
Je ne suis pas un pro du Python, et il y a sûrement moyen de mieux optimiser le code, alors toute remarque est la bienvenue !