Rhythmbox: как мне получить доступ к полю "рейтинга" трека через скрипт Python?

Я хотел бы иметь возможность получить / установить рейтинг, связанный с конкретным треком через Python. Как мне этого добиться?

1 ответ

Решение

Вы можете использовать интерфейс D-Bus Rhythmbox. Я написал небольшой скрипт, который может получить / установить рейтинг и отображать уведомление, все действующие на текущей воспроизводимой песне.

Сценарий находится здесь: http://kaizer.se/wiki/code/rhrating.py

Приложение одно: я обещаю, что я напишу более красивый Python, когда это не одноразовый скрипт!
Приложение два: отсутствует строка использования ./rhrating.py [NEWRATING 0..5]

Приложение три: Если я отфильтрую скрипт и вытащу части, которые точно устанавливают рейтинг песни в месте расположения файловой системы uriВот так:

import dbus
bus = dbus.Bus()

service_name = "org.gnome.Rhythmbox"
sobj_name = "/org/gnome/Rhythmbox/Shell"
siface_name = "org.gnome.Rhythmbox.Shell"

def set_rating(uri, rating):
    searchobj = bus.get_object(service_name, sobj_name)
    shell = dbus.Interface(searchobj, siface_name)
    shell.setSongProperty(uri, "rating", float(rating))
Другие вопросы по тегам