用于访问播客文件的Rhythmbox插件无法看到它们

我正在编写一个Rhythmbox插件,用于迭代Rhythmbox目前已知的所有播客文件(无论是否已下载)并对其进行操作.

在Rhythmbox的Python Shell中进行了一些研究和测试后,我成功获得了所有对象的列表.但是,当我将其编码为插件时,我收到一个错误:

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

并且条目列表为空:

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对象位于0xa7ea34c(RhythmDBEntryType为0xa106988)>,因此db对象显然是有效的.

我究竟做错了什么?

解决方法:

首先尝试重新安装rhythmbox.

看看它输出了什么,它在我的机器上正常运行,在机器上发布了什么输出

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)
上一篇:Natasha 4.0 探索之路系列(二) "域"与插件


下一篇:将yyjson的默认内存分配器替换为mimalloc