المكون الإضافي لـ Rhythmbox للوصول إلى ملفات البودكاست لا يراها

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

سؤال

أنا أكتب مكونًا إضافيًا لـ Rhythmbox للتكرار عبر جميع ملفات البودكاست المعروفة حاليًا بـ Rhythmbox (سواء تم تنزيله أم لا) وللقيام بشيء معهم.

بعد بعض الأبحاث والاختبار في قذيفة Python Rhythmbox ، نجحت في الحصول على قائمة بجميع الكائنات. ومع ذلك ، عندما قمت بترميزه في البرنامج المساعد ، أحصل على خطأ:

(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...

وهو يعمل بشكل صحيح. حسنًا ، ليس أجمل حل ، لكنه على ما يرام لاحتياجاتي.

نصائح أخرى

حاول أولاً إعادة تثبيت 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)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top