Skip to content

Commit

Permalink
Merging sortname generation to one function
Browse files Browse the repository at this point in the history
  • Loading branch information
Jacob Rask committed May 30, 2010
1 parent 3815a0d commit 0185fcb
Showing 1 changed file with 17 additions and 21 deletions.
38 changes: 17 additions & 21 deletions titlesort.py
Expand Up @@ -23,43 +23,39 @@
for lang, a in articles.iteritems():
reg = ''
for i in range(len(a)):
reg = '|' + articles[lang][i] + reg
reg = '|^' + articles[lang][i] + reg
re_articles[lang] = re.compile(reg[1:])
regmul = regmul + reg
# all articles are collected and used for "multiple languages"
re_articles['mul'] = re.compile(regmul[1:])

def add_titlesort(tagger, metadata, release, track):
if metadata["titlesort"]:
titlesort = metadata["titlesort"]
def make_sorttitle(title, lang):
if lang and lang in re_articles:
lang = lang
else:
titlesort = metadata["title"]
lang = "mul" # default
if metadata["language"] and metadata["language"] in re_articles:
lang = metadata["language"]
lang = "mul"
sort_re = re_articles[lang]
match = sort_re.match(titlesort)
match = sort_re.match(title)
titlesort = title
if match:
sort_prefix = match.group().strip()
titlesort = sort_re.sub("", titlesort).strip() + ", " + sort_prefix
titlesort = sort_re.sub("", title).strip() + ", " + sort_prefix
titlesort = titlesort[0].upper() + titlesort[1:] # capitalize first letter
metadata["titlesort"] = titlesort
return titlesort

def add_titlesort(tagger, metadata, release, track):
if metadata["titlesort"]:
titlesort = metadata["titlesort"]
else:
titlesort = metadata["title"]
metadata["titlesort"] = make_sorttitle(titlesort, metadata["language"])

def add_albumsort(tagger, metadata, release):
if metadata["albumsort"]:
titlesort = metadata["albumsort"]
else:
titlesort = metadata["album"]
lang = "mul" # default
if metadata["language"] and metadata["language"] in re_articles:
lang = metadata["language"]
sort_re = re_articles[lang]
match = sort_re.match(titlesort)
if match:
sort_prefix = match.group().strip()
titlesort = sort_re.sub("", titlesort).strip() + ", " + sort_prefix
titlesort = titlesort[0].upper() + titlesort[1:] # capitalize first letter
metadata["albumsort"] = titlesort
metadata["albumsort"] = make_sorttitle(titlesort, metadata["language"])

register_track_metadata_processor(add_titlesort)
register_album_metadata_processor(add_albumsort)

0 comments on commit 0185fcb

Please sign in to comment.