Hi Guillaume,

On 05/23/2012 03:42 AM, Guillaume Zajac wrote:
This script uses dynamic SS codes in input and
displays answers to the different requests.
It handles all SS: call barring, call forwarding,
call waiting, CLIP, CLIR, ...
---
  test/test-ss |   55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
  1 files changed, 55 insertions(+), 0 deletions(-)
  create mode 100755 test/test-ss

diff --git a/test/test-ss b/test/test-ss
new file mode 100755
index 0000000..adeff33
--- /dev/null
+++ b/test/test-ss
@@ -0,0 +1,55 @@
+#!/usr/bin/python
+
+import sys
+import gobject

What is gobject for?
+
+import dbus
+import dbus.mainloop.glib

Why do you need the mainloop?

+
+if __name__ == "__main__":
+       dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
+
+       bus = dbus.SystemBus()
+
+       manager = dbus.Interface(bus.get_object('org.ofono', '/'),
+                                                       'org.ofono.Manager')
+
+       modems = manager.GetModems()
+       modem = modems[0][0]
+
+       if (len(sys.argv) == 2):
+               ss_code = sys.argv[1]
+       else:
+               modem = sys.argv[1]
+               ss_code = sys.argv[2]
+
+       ss = dbus.Interface(bus.get_object('org.ofono', modem),
+                                       'org.ofono.SupplementaryServices')
+
+       try:
+               ss_type, properties = ss.Initiate(ss_code, timeout=100)
+       except dbus.DBusException, e:
+               print "Unable to perform operation: ", e
+               sys.exit(1);
+
+       if (ss_type == "CallBarring"):
+               print "%s : Operation [ %s ] Service Type [ %s ]" % (ss_type, 
properties[0], properties[1])
+               for key in properties[2]:
+                       print "%s : %s" % (key, properties[2][key])
+               sys.exit(1);

This sys.exit seems unnecessary, and since the operation succeeded you should be returning 0 anyway.

+       elif (ss_type == "CallForwarding"):
+               print "%s : Operation [ %s ] Service Type [ %s ]" % (ss_type, 
properties[0], properties[1])
+               for key in properties[2]:
+                       print "%s : %s" % (key, properties[2][key])
+               sys.exit(1);

ditto

+       elif (ss_type == "CallWaiting"):
+               print "%s : Operation [ %s ]" % (ss_type, properties[0])
+               for key in properties[1]:
+                       print "%s : %s" % (key, properties[1][key])
+               sys.exit(1);

ditto

+       else:
+               print "%s : Operation [ %s ] Status [ %s ]" % (ss_type, 
properties[0], properties[1])
+               sys.exit(1);

ditto
+
+       mainloop = gobject.MainLoop()
+       mainloop.run()

This seems unnecessary as well since you're not actually using a main loop.

Regards,
-Denis
_______________________________________________
ofono mailing list
[email protected]
http://lists.ofono.org/listinfo/ofono

Reply via email to