我正在使用 ubuntu 12.04,我正在尝试编写一个 python 插件来查询 Rhythmbox 数据库。Rhythmbox 版本是 v2.96,但 v2.97 也会出现此问题。当我执行 python 查询时,Ubuntu 因分段错误而崩溃。
我需要确认以下内容是否正确,以及我是否发现了特定于 Ubuntu 的错误,或者我是否误解了如何正确查询。如果其他使用其他发行版的人可以确认 - 这将是最受欢迎的。
我已经就分段错误提交了关于 bugzilla的错误报告。但是,我的问题并不是严格意义上的——它专门试图确认正确的 python 代码来查询数据。
因此我的问题是:下面的代码片段对于查询 Rhythmbox 数据库是否正确,或者我是否需要安装一个额外的包来启用查询。
脚步:
- 启用 python 控制台插件
- 键入(或逐行复制并粘贴以下内容)
从 gi.repository 导入 RB、GLib db = shell.props.db query_model = RB.RhythmDBQueryModel.new_empty(db) 查询 = GLib.PtrArray() db.query_append_params(查询,RB.RhythmDBQueryType.EQUALS,RB.RhythmDBPropType.ARTIST,'一些艺术家姓名') db.query_append_params(查询,RB.RhythmDBQueryType.EQUALS,RB.RhythmDBPropType.TITLE,'一些歌曲名称') db.do_full_query_parsed(query_model, 查询) 对于 query_model 中的行: 打印行[0].get_string(RB.RhythmDBPropType.ARTIST) 打印行[0].get_string(RB.RhythmDBPropType.TITLE)
如果 ubuntu 12.04 在我输入此行时,Ubuntu 会因分段错误而崩溃
db.query_append_params( query, RB.RhythmDBQueryType.EQUALS, RB.RhythmDBPropType.ARTIST, 'some artist name' )
因此,我实际上是否正确使用了调用中的第一个参数 - 查询指针数组 (PtrArray) - 还是我的查询函数参数不正确?