Making text in label always the same as button text. Not launching qussd when message...
[ussd-widget] / ussd4all / src / ussdd
1 #!/usr/bin/python
2 # -*- coding: utf-8 -*-
3
4 import subprocess
5 import dbus
6 import dbus.service
7 from dbus import glib
8 from dbus.mainloop.glib import DBusGMainLoop
9 import gobject
10
11 skip = False;
12
13 def ussd_released (message, str):
14         global skip
15         if not skip and not message.empty():
16                 subprocess.Popen(["qussd", message])
17         skip = False
18         return True
19
20 def ussd_request (message, str):
21         global skip
22         if not skip:
23                 subprocess.Popen(["qussd", message, "lock"])
24         skip = False
25         return True
26
27 class DBusListener(dbus.service.Object):
28         def __init__(self):
29                 bus_name = dbus.service.BusName('su.kibergus.ussdd', bus=dbus.SystemBus())
30                 dbus.service.Object.__init__(self, bus_name, '/su/kibergus/ussdd')
31
32         @dbus.service.method(dbus_interface='su.kibergus.ussdd')
33         def skip_next (self):
34                 global skip
35                 skip = True
36                 return True
37         
38         @dbus.service.method(dbus_interface='su.kibergus.ussdd')
39         def show_next (self):
40                 global skip
41                 skip = False
42                 return True
43
44 gobject.threads_init()
45 glib.init_threads()
46
47 bus = dbus.SystemBus()
48 signal = bus.add_signal_receiver(ussd_released, path='/com/nokia/csd/ss',   dbus_interface='com.nokia.csd.SS.USSD', signal_name='Released')
49 signal = bus.add_signal_receiver(ussd_request, path='/com/nokia/csd/ss',   dbus_interface='com.nokia.csd.SS.USSD', signal_name='Request')
50
51 listener = DBusListener()
52
53 loop = gobject.MainLoop()
54 loop.run()
55