Hi Hayden Lau, do you have a GLib mainloop running? If no, maybe creating and starting one may help. See also: https://bugzilla.gnome.org/show_bug.cgi?id=759644 -- Regards Chris Am Samstag, den 13.01.2018, 16:19 +0000 schrieb Hayden Lau:
Hello, I understand this is a dev mailing list, but I’m not sure where to post this question otherwise. I’m attempting to write an application that interacts with UDisks2 over DBus with PyGObject. However, I’m finding that after instantiating the proper Gio.DBusObjectManagerClient, I seem to be unable to get updates on the ObjectManager’s state. Am I missing something? The only example code that I could find that had similar functionality was in udiskie (https://github.com/coldfix/udiskie), b ut that application uses Gio.DBusProxy directly. Is that the recommended approach? My (non-working) proof of concept code pasted below. It prints the initial set of objects reported by the ‘org.freedesktop.UDisks2’ object manager, but does not print changes (either via signal or polling) when disks are added or removed. I am using the version of PyGObject that comes packaged with Ubuntu 16.04 LTS, 3.20.0, along with the versions of DBus and Glib, etc that also come with the OS. (https://packages.ubuntu.com/xenial/python3-gi ) Thank you, Hayden Lau ======================== from time import sleep import gi gi.require_version('Gio', '2.0') from gi.repository import Gio udisks2 = Gio.DBusObjectManagerClient.new_for_bus_sync( Gio.BusType.SYSTEM, Gio.DBusObjectManagerClientFlags.NONE, 'org.freedesktop.UDisks2', '/org/freedesktop/UDisks2', None, None, None ) def new_obj_handler(obj): print('New Object: ', obj) def new_iface_handler(obj): print('New Interface: ', obj) def get_paths(objmgr): return [obj.get_object_path() for obj in objmgr.get_objects()] udisks2.connect('interface-added', new_iface_handler) udisks2.connect('object-added', new_obj_handler) paths = [] while(True): if paths != get_paths(udisks2): paths = get_paths(udisks2) print(paths) sleep(1) _______________________________________________ python-hackers-list mailing list python-hackers-list gnome org https://mail.gnome.org/mailman/listinfo/python-hackers-list
Attachment:
signature.asc
Description: This is a digitally signed message part