Ticket #431: spy_gypsy.py

File spy_gypsy.py, 895 bytes (added by vnevoa, 3 years ago)
Line 
1#!/usr/bin/env python
2
3import sys
4import traceback
5
6import gobject
7
8import dbus
9import dbus.decorators
10import dbus.mainloop.glib
11
12def handle_error(e):
13    print str(e)
14
15def signal_handler(*args, **kwargs):
16    print ("Caught signal " + kwargs['dbus_interface'] + "." + kwargs['member'])
17    for arg in args:
18        print "        " + str(arg)
19
20if __name__ == '__main__':
21
22    dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
23
24    bus = dbus.SystemBus()
25
26    try:
27        object = bus.get_object("org.freedesktop.Gypsy","/org/freedesktop/Gypsy")
28        object.connect_to_signal("PositionChanged", signal_handler, interface_keyword='dbus_interface', member_keyword='member')
29
30    except dbus.DBusException:
31        traceback.print_exc()
32        sys.exit(1)
33
34    loop = gobject.MainLoop()
35
36    print("Setup complete, entering wait loop.")
37    loop.run()