Browse Source

use LaTeX instead of TeX for verse and chorus environments

remotes/origin/split-songs
Romain Goffe 13 years ago
parent
commit
080bf69b82
  1. 22
      utils/rules.py

22
utils/rules.py

@ -25,8 +25,6 @@ word_dic = {
##: Punctuation
"": "'",
"Ca ": "Ça ",
"\\musicnote{Intro": "\\musicnote{intro",
"\\musicnote{Outro": "\\musicnote{outro",
"...": "{\\dots}",
"": "{\\dots}",
"say: ``":"say, ``",
@ -108,6 +106,13 @@ word_dic = {
"X00231": "XX0231",
#B
"021202": "X21202",
## LaTeX
"beginchorus": "begin{chorus}",
"endchorus": "end{chorus}",
"beginverse*": "begin{verse*}",
"beginverse": "begin{verse}",
"endverse": "end{verse}",
"}[by=": "}\n [by=",
### end of rules
}
@ -186,12 +191,23 @@ def language_rules(string):
def process_lines(lines):
'''
Removes trailing punctuation and multi-spaces from lines. Not
Removes trailing punctuation and multi-spaces from lines. Note
that it preserves whitespaces at the beginning of lines that
correspond to indentation.
'''
logging.info("process_lines: handling song data line by line")
star = False
for index, line in enumerate(lines):
if re.compile("begin{verse\*}").search(line):
star = True
if re.compile("end{verse\*}").search(line):
star = False
if star == True and re.compile("end{verse}").search(line):
line = line.replace("verse", "verse*")
star = False
#remove trailing spaces and punctuation
line = line.rstrip().rstrip(',.;').rstrip()
#remove multi-spaces within lines

Loading…
Cancel
Save