mirror of https://github.com/patacrep/patacrep.git
Guillaume Bouchard
13 years ago
committed by
Romain Goffe
3 changed files with 38 additions and 2 deletions
@ -0,0 +1,29 @@ |
|||
#coding:utf8 |
|||
|
|||
import re |
|||
import warnings |
|||
import locale |
|||
|
|||
iecPattern = re.compile(r"\IeC {\\(.*?)}") |
|||
replacePattern = { |
|||
'`A': 'À', |
|||
'oe ': 'œ', |
|||
"'e" : 'é', |
|||
"'o" : 'ó', |
|||
"c C" : 'ç', |
|||
} |
|||
|
|||
def sortkey(value): |
|||
''' |
|||
From a title, return something usable for sorting. It handles locale (but |
|||
don't forget to call locale.setlocale(locale.LC_ALL, '')). It also try to |
|||
handle the sort with crappy latex escape sequences. Some chars may not be |
|||
handled by this function, so add them to *replacePattern* dictionnary. |
|||
''' |
|||
def repl(match): |
|||
try: |
|||
return replacePattern[match.group(1)] |
|||
except KeyError: |
|||
warnings.warn("Error, no match to replace %s in %s. You should add it in the coresponding table in title_solt.py" % (match.group(0), match.group(1))) |
|||
|
|||
return locale.strxfrm(iecPattern.sub(repl, value)) |
Loading…
Reference in new issue