Плагин Rhythmbox для доступа к файлам подкаста не видит их

StackOverflow https://stackoverflow.com/questions/3762078

Вопрос

Я пишу плагин Rhythmbox, чтобы повторить все файлы подкастов, которые в настоящее время известны Rhythmbox (загружены или нет) и делать что-то с ними.

После некоторых исследований и тестирования в Rhythmbox's Python Shell мне удалось получить список всех объектов. Однако, когда я записал его в плагин, я получаю ошибку:

(rhythmbox:7500): GLib-GObject-WARNING **: invalid cast from `RhythmDBTree' to `RhythmDBEntryType'

и то entries Список пусто:

def run(self, action, shell):
    db = shell.get_property('db')
    entry_type = db.entry_type_get_by_name('podcast-post')
    print entry_type
    entries = []
    db.entry_foreach_by_type(entry_type, entries.append)
    print entries

Однако print entry_type Возвращает: <rhythmdb.EntryType object at 0xa7ea34c (RhythmDBEntryType at 0xa106988)>, поэтому объект DB, по-видимому, действителен.

Что я делаю неправильно?

Это было полезно?

Решение 2

Я попробовал следующее:

def run(self, action, shell):
    db = shell.get_property('db')
    entry_type = db.entry_type_get_by_name('podcast-post')
    print entry_type
    entries = []
    db.entry_foreach(entries.append)
    print entries
    for entry in entries:
        if entry.get_type() == entry_type:
            # process entry...

И это работает правильно. Ну, не самое красивое решение, но это нормально для моих потребностей.

Другие советы

Сначала попробуйте переустановить ритмбокс.

Посмотрите, что это выводит, он работает нормально на моей машине, опубликуйте, что это на выходов на вашем компьютере

from __future__ import print_function

def plugin_create(database):
    print(database)
    db.entry_foreach_by_type(db.entry_type_get_by_name('podcast-post'), print)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top