diff --git a/beets/ui/__init__.py b/beets/ui/__init__.py index e2eebb738..e19e005f1 100644 --- a/beets/ui/__init__.py +++ b/beets/ui/__init__.py @@ -27,6 +27,7 @@ import logging import sqlite3 import errno import re +import codecs from beets import library from beets import plugins @@ -673,7 +674,7 @@ def main(args=None, configfh=None): if configpath: configpath = util.syspath(configpath) if os.path.exists(util.syspath(configpath)): - configfh = open(configpath) + configfh = codecs.open(configpath, 'r', encoding='utf-8') else: configfh = None if configfh: diff --git a/beetsplug/rewrite.py b/beetsplug/rewrite.py index 609999749..f97ec58f6 100644 --- a/beetsplug/rewrite.py +++ b/beetsplug/rewrite.py @@ -33,7 +33,7 @@ def rewriter(field, rules): def fieldfunc(item): value = getattr(item, field) for pattern, replacement in rules: - if pattern.match(value): + if pattern.match(value.lower()): # Rewrite activated. return replacement # Not activated; return original value. @@ -59,7 +59,7 @@ class RewritePlugin(BeetsPlugin): raise ui.UserError("invalid field name (%s) in rewriter" % fieldname) log.debug(u'adding template field %s' % key) - pattern = re.compile(pattern, re.I) + pattern = re.compile(pattern.lower()) rules[fieldname].append((pattern, value)) if fieldname == 'artist': # Special case for the artist field: apply the same