Re: Gio.DBusObjectManagerClient not updating
- From: Hayden Lau <HaydenL aercoustics com>
- To: "python-hackers-list gnome org" <python-hackers-list gnome org>
- Subject: Re: Gio.DBusObjectManagerClient not updating
- Date: Tue, 6 Mar 2018 19:25:21 +0000
Sorry all, this is a repeat email that got caught up in the spam filtering system. I already had some
responses earlier (after I joined the mailing list).
Thanks,
Hayden
On 2018-03-06, 1:36 PM, "python-hackers-list on behalf of Hayden Lau" <python-hackers-list-bounces gnome org
on behalf of HaydenL aercoustics com> wrote:
[This sender failed our fraud detection checks and may not be who they appear to be. Learn about spoofing
at http://aka.ms/LearnAboutSpoofing]
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), but 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.
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
[Date Prev][
Date Next] [Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]