mirror of git://git.sysmocom.de/ofono
test-ussd: read stdin for Response()s
This commit is contained in:
parent
217c161cf5
commit
0d9473d8c8
|
@ -2,10 +2,13 @@
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
import gobject
|
import gobject
|
||||||
|
import os
|
||||||
|
|
||||||
import dbus
|
import dbus
|
||||||
import dbus.mainloop.glib
|
import dbus.mainloop.glib
|
||||||
|
|
||||||
|
state = None
|
||||||
|
|
||||||
def ussd_notification_received(content):
|
def ussd_notification_received(content):
|
||||||
print("Network sent a Notification: " + content)
|
print("Network sent a Notification: " + content)
|
||||||
|
|
||||||
|
@ -14,9 +17,23 @@ def ussd_request_received(content):
|
||||||
ss.Cancel()
|
ss.Cancel()
|
||||||
|
|
||||||
def ussd_property_changed(name, value):
|
def ussd_property_changed(name, value):
|
||||||
|
global state
|
||||||
if name != "State":
|
if name != "State":
|
||||||
return
|
return
|
||||||
print("USSD session state is " + value)
|
print("USSD session state is " + value)
|
||||||
|
state = str(value)
|
||||||
|
|
||||||
|
def stdin_handler(fd, condition):
|
||||||
|
s = os.read(fd.fileno(), 160).rstrip()
|
||||||
|
if not s:
|
||||||
|
ss.Cancel()
|
||||||
|
elif state == "user-response":
|
||||||
|
print ss.Respond(s, timeout = 100)
|
||||||
|
elif state == "idle":
|
||||||
|
print ss.Initiate(s, timeout = 100)
|
||||||
|
else:
|
||||||
|
print "Invalid state", state
|
||||||
|
return True
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
if (len(sys.argv) < 2):
|
if (len(sys.argv) < 2):
|
||||||
|
@ -44,5 +61,7 @@ if __name__ == "__main__":
|
||||||
|
|
||||||
print ss.Initiate(sys.argv[1], timeout=100)
|
print ss.Initiate(sys.argv[1], timeout=100)
|
||||||
|
|
||||||
|
gobject.io_add_watch(sys.stdin, gobject.IO_IN, stdin_handler)
|
||||||
|
|
||||||
mainloop = gobject.MainLoop()
|
mainloop = gobject.MainLoop()
|
||||||
mainloop.run()
|
mainloop.run()
|
||||||
|
|
Loading…
Reference in New Issue