Проблема с tag2utf.py

Разные проблемы звука, видео, обсуждение разных устройств и т.д.

Модератор: Модераторы разделов

Innuend0
Сообщения: 4
ОС: Ubuntu

Проблема с tag2utf.py

Сообщение Innuend0 »

Хотел решить проблемы с русскими тегами и их кодировкой в mp3 файлах. Нашел на вашем форуме тему, там посоветовали - tag2utf.py.
Скачал. Запустил... Он спрашивал что выбирать - c: cp1251 и k:koi8-r... Я блин везде нажимал koi8-r. Теперь у меня опять же йероглифы. Но если повторно запускаю этот питон-скрипт, то он уже не сканит эти файлы...
Как быть? Как просканить эти файлы заново. Я открыл tag2utf.py и попробовал проредактировать (никогда дело с Питоном не имел), но вот я подумал что дело "редактировать или нет" кроется вот здесь:

Код: Выделить всё

def recodingNeed (strs):
    """recodint needed if tags had symbols with 255>ords >128
    """
    needed = False
    for string in strs:
        for i in range (len(string)):
            if ord (string[i])>255:
                return False #it's a unicode
            if 255>ord (string[i])>127:
                return True  #nonunicode nonascii

Я изменил это на вот это:

Код: Выделить всё

def recodingNeed (strs):
    """recodint needed if tags had symbols with 255>ords >128
    """
    needed = True
    return True  #nonunicode nonascii

Теперь в консоле пишу:

Код: Выделить всё

evgheny@evgheny-laptop:/media/sda5/music$ python ~/Desktop/tag2utf.py

и мне выдает вот такое:

Код: Выделить всё

Starting search in the  /media/sda5/music
Traceback (most recent call last):
  File "/home/evgheny/Desktop/tag2utf.py", line 152, in <module>
    passDir (root)
  File "/home/evgheny/Desktop/tag2utf.py", line 73, in passDir
    titles.append (getTagStr (tag.getTitle()))
  File "/home/evgheny/Desktop/tag2utf.py", line 84, in getTagStr
    ls.append (chr (ord (tagUnicStr[i])))
ValueError: chr() arg not in range(256)

Видно не то я проредактировал =(

П.С. Кстати когда он тогда правил теги, он после правки остановился и тоже пару ерроров вывел

Заранее спасибо за ответ)
Спасибо сказали:
Аватара пользователя
Aectann
Бывший модератор
Сообщения: 3491
Статус: ...
ОС: OS X, GNU_и_не_только/Linux

Re: Проблема с tag2utf.py

Сообщение Aectann »

Мой совет: если хотите перевести русские теги в юникод, воспользуйтесь лучше программой easytag. Там все делается просто: в настройках выставляете кодировку, в которой читать теги(т.е. та, кодировка, в которой у вас теги изначально), указываете сохранять все теги в unicode. Потом выбираете нужные mp3шки и щелкаете "Сохранить". Сам вчера занимался подобным делом: сначала пытался сделать с помощью утилиты на python(не tag2utf, другая, mid3iconv, если не ошибаюсь, поищите в разделе Мультимедиа, если интересно), но после ее использования все русские теги преобразуются в знаки вопроса(с английскими названиями все отлично).

P.S. Тема к Debian отношения не имеет, переношу в Мультимедиа.
My god... it's full of stars!...
Спасибо сказали:
Innuend0
Сообщения: 4
ОС: Ubuntu

Re: Проблема с tag2utf.py

Сообщение Innuend0 »

easytag - там надо для каждой папки выбирать... У меня стока этой музыки - очень долго будет вручную всё это делать.
я сначал тоже попробова через это id3iconv (тоже не помню как называется).. вроде получилось. Проверил на одной папке. Но она так же не рекурсивная. Поэтому запустил этот tag2utf.py с неправильными параметрами. После этого тот же id3iconv не выручает.
И при том, теперь русские песни мало того, что йероглифами так и отображаются, они в exaile вообще не хотят играть (exaile виснет)...

P.S. Тема к Debian отношения не имеет, переношу в Мультимедиа.

Ок, сорри.
Спасибо сказали:
Аватара пользователя
Horrible
Сообщения: 256
Статус: Emacs geek
ОС: Emacs

Re: Проблема с tag2utf.py

Сообщение Horrible »

тебе нужно сначала откатить кодировку до cp1251, ты ведь ее криво в юникод перегнал когад указал koi8 вместо cp1251

в easytag ненадо для каждой папки выбирать, выбираеш в нем всю свою папку music, ждеш пока он прочитает теги из всех файлов, затем сохраняеш.

чтобы id3iconv был рекурсивным нунжо помнить что это linux, почему бы не запустить так:
find /mnt/music -type f -name *.mp3 -exec id3iconv -опции {} \; (две скобочки тоже нада)
Спасибо сказали:
Innuend0
Сообщения: 4
ОС: Ubuntu

Re: Проблема с tag2utf.py

Сообщение Innuend0 »

Horrible,
Horrible писал(а):
09.08.2007 09:33
тебе нужно сначала откатить кодировку до cp1251,

Как и чем это сделать?

И кстати я питоновым скриптом не только русские песни перекодировл, он предлогал несколько папок английских (видно они в уникоде были) и японские альбомы. Я в винде не проверял, но наверное после этого и в винде будет отображаться йероглифы эти измененные.
Спасибо сказали:
AndreyPutilov
Сообщения: 1

Re: Проблема с tag2utf.py

Сообщение AndreyPutilov »

python tag2utf-x.yz.py --help
Спасибо сказали: