mirror of https://github.com/patacrep/patacrep.git
crep
15 years ago
2 changed files with 63 additions and 46 deletions
@ -1,46 +0,0 @@ |
|||
#!/bin/sh |
|||
# Utility that corrects the songs input to respect some LaTeX rules |
|||
|
|||
|
|||
for i in songs/*/*.sg; |
|||
do |
|||
|
|||
# oe inclusion |
|||
sed -i "s/coeur/cœur/g" $i; |
|||
sed -i "s/boeuf/bœuf/g" $i; |
|||
sed -i "s/oeuvre/œuvre/g" $i; |
|||
sed -i "s/oeuf/œuf/g" $i; |
|||
sed -i "s/soeur/sœur/g" $i; |
|||
sed -i "s/noeud/nœud/g" $i; |
|||
sed -i "s/oeil/œil/g" $i; |
|||
sed -i "s/\\\oe{}/œ/g" $i; |
|||
#punctuation |
|||
sed -i "s/’/'/g" $i; |
|||
sed -i "s/Ca /Ça /g" $i; |
|||
|
|||
# dots rules |
|||
sed -i "s/\\.\\.\\./\\\dots/g" $i; |
|||
|
|||
#chords |
|||
sed -i "s/\\[Re\\]/\\[Ré\\]/g" $i; |
|||
sed -i "s/b\\]/\\&\\]/g" $i; |
|||
#Do |
|||
sed -i "s/032010}/X32010}/g" $i; |
|||
#La |
|||
sed -i "s/002220}/X02220}/g" $i; |
|||
sed -i "s/002020}/X02020}/g" $i; |
|||
#Lam |
|||
sed -i "s/002210}/X02210}/g" $i; |
|||
#Ré |
|||
sed -i "s/000232}/XX0232}/g" $i; |
|||
sed -i "s/X00232}/XX0232}/g" $i; |
|||
#Ré7 |
|||
sed -i "s/000212}/XX0212}/g" $i; |
|||
#Rém |
|||
sed -i "s/000231}/XX0231}/g" $i; |
|||
sed -i "s/X00231}/XX0231}/g" $i; |
|||
#Si7 |
|||
sed -i "s/021202}/X21202}/g" $i; |
|||
|
|||
|
|||
done; |
@ -0,0 +1,63 @@ |
|||
#!/usr/bin/python |
|||
# -*- coding: utf-8 -*- |
|||
|
|||
import re |
|||
import glob |
|||
import codecs |
|||
|
|||
def replace_words(text, word_dic): |
|||
""" |
|||
take a text and <strong class="highlight">replace</strong> words |
|||
that match a key in a dictionary with the associated value, |
|||
return the changed text |
|||
""" |
|||
rc = re.compile('|'.join(map(re.escape, word_dic))) |
|||
def translate(match): |
|||
return word_dic[match.group(0)] |
|||
return rc.sub(translate, text) |
|||
|
|||
# the dictionary has target_word:replacement_word pairs |
|||
word_dic = { |
|||
#oe inclusion |
|||
"coeur": "cœur", |
|||
"boeuf": "bœuf", |
|||
"oeuvre": "œuvre", |
|||
"soeur": "sœur", |
|||
"noeud": "nœud", |
|||
"oeil": "œil", |
|||
"oe{}": "œ", |
|||
#punctuation |
|||
"’": "'", |
|||
"Ca ": "Ça ", |
|||
"...": "\\dots ", |
|||
#Chords |
|||
"\\[Re]": "\\[Ré]", |
|||
"b]": "&]", |
|||
#Do |
|||
"032010": "X32010", |
|||
#La |
|||
"002220": "X02220", |
|||
"002020": "X02020", |
|||
"002210": "X02210", |
|||
#Ré |
|||
"000232": "XX0232", |
|||
"X00232": "XX0232", |
|||
"000212": "XX0212", |
|||
"000231": "XX0231", |
|||
"X00231": "XX0231", |
|||
#Si |
|||
"021202": "X21202", |
|||
} |
|||
|
|||
# Process song files |
|||
songfiles = glob.glob('songs/*/*.sg') |
|||
for file in songfiles: |
|||
songfile = codecs.open(file, "r", "utf-8") |
|||
data = songfile.read().encode("utf-8") |
|||
data = replace_words(data, word_dic) |
|||
songfile.close() |
|||
songfile = open(file, "w") |
|||
songfile.write(data) |
|||
songfile.close() |
|||
|
|||
|
Loading…
Reference in new issue