Заставляем exaile, listen и другие mp3 python based плееры работать с cp1251
Вот уже долгое время юзаю плеер exaile, но работа с кодировкой не могла не раздражать: По стандарту в id3 тегах не может быть cp1251 кодировок, но у нас это никого не волн ет:]. Пытался пофиксить в коде exaile, но ничего не вышло, запутался в классах и тп В), глунул в код mutagena, которые юзается для работы с mp3 и тп тегами, и нашёл простое решение=) Ищем class EncodedTextSpec (~629 строка) и добавляем в список encoding кортеж:
('cp1251', 'x00') всё
upd: хотя конечно корректней будет добавить строку:
mutagen.id3.EncodedTextSpec.encodings.append(('cp1251','x00'))
в media.py например (для exaile), чёт я сразу протупил%)
to mkdir, как видишь можно было и без замены latin1 на cp1251 это сделать В)
ps: если база была уже создана, делаем rm -rf ~/.exaile и пересоздаём:] хотя часть тегов всё равно крякозябрами, надо раздуплить что там за кодировка, да и после перезапуска в списке часть титлов тоже крякозябрами, но это пусть курят авторы сами В)
сами плееры можно стянуть с
exaile.org