Mutagen, или опасная игра

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

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

Аватара пользователя
mitya
Сообщения: 54

Mutagen, или опасная игра

Сообщение mitya »

solshark писал(а):
27.02.2007 16:31
id3tad из пакета id3lib спасет отца русской демократии:
http://id3lib.sourceforge.net/

Я пробовал что-то клепать во времена оные: http://shvets.vn.ua/?active=soft&subactive=unicode_meta


Спасибо, но не помогло. Результат тот же :(

Посмотрел внимательно. id3info, похоже, отображает инфу id3v2 тэгов (TIT2, TALB), а мне нужно id3v1.
Спасибо сказали:
Аватара пользователя
mitya
Сообщения: 54

Re: Mutagen, или опасная игра

Сообщение mitya »

Привет всем!

Пытаюсь разобраться с mutagen api, на предмет написания нескольких скриптов. Например, хочу написать скрипт, который прочитает id3v1 cp-1251 тэги из файла, переведёт их в транслит и сохранит обратно в файл, в id3v1, в кодировке latin1. Если интересно, зачем это нужно - радиодиск в машине, с поддержкой mp3, который читает только id3v1 тэги.

Теперь о самой проблеме. Написал вот такое творение:

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

import os
import sys
import locale

from mutagen.id3 import ID3, ParseID3v1

enc = locale.getpreferredencoding()
myfile = file("/home/dima/1.mp3", 'rb')
myfile.seek(-128, 2)

frames = ParseID3v1(myfile.read(128))
if frames is not None:
        for frame in frames.values():
                print frame.text[0].encode(enc, 'replace')
else:
        print 'no id3v1 frames'


В результате получаю на экран вопросительные знаки. :(
Немного о системе:
Archlinux current
locale en_US.utf8
KDE 3.5.6
konsole
шрифты: terminus, courier new (никакие не работают)

Пробовал убрать encode из скрипта и запустить его таким образом:

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

./my_script.py | iconv -t cp1251 -f utf-8

Результат такой же.

Документация на сайте mutagen'a скудная, помимо неё в гугле ничего полезного нет. 'pydoc mutagen' не помогает. Делаю всё по примерам внутри кода mutagen.
За кривой код просьба сильно не бить, я на питоне до этого ничего не писал :)

Какие будет предложения, советы? Как добиться вывода содержимого id3v1 в правильной кодировке? mid3iconv и mid3v2 не предлагать, они не умеют делать того, что мне нужно, я проверял.

Заранее спасибо за помощь! Если результаты моей работы будут удовлетворительными, обязательно выложу здесь. :)
Спасибо сказали:
Аватара пользователя
solshark
Сообщения: 439
Статус: Монархист
ОС: Gentoo ~amd64

Re: Mutagen, или опасная игра

Сообщение solshark »

id3tad из пакета id3lib спасет отца русской демократии:
id3lib is an open-source, cross-platform software development library for reading, writing, and manipulating ID3v1 and ID3v2 tags. It is an on-going project whose primary goals are full compliance with the ID3v2 standard, portability across several platforms, and providing a powerful and feature-rich API with a highly stable and efficient implementation.

http://id3lib.sourceforge.net/

Я пробовал что-то клепать во времена оные: http://shvets.vn.ua/?active=soft&subactive=unicode_meta
Ceterum censeo Carthaginem esse delendam
Marcus Porcius Cato
Мой блог про KDE4 и рыбу в томате
Спасибо сказали: