diff options
author | Dan Williams <dcbw@redhat.com> | 2012-01-18 15:43:22 -0600 |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2012-01-18 15:43:22 -0600 |
commit | c437da20ffe1873b15c338f95be4bee26e26b401 (patch) | |
tree | 262a72220e9b44848790a859172ea8555d6c4b0c /test | |
parent | 5c561995aacdab2b29f8eabf38ad8703eec75cab (diff) | |
download | ModemManager-c437da20ffe1873b15c338f95be4bee26e26b401.tar.gz |
test: enhance SMS send util to accept validity and SMSC address
Diffstat (limited to 'test')
-rwxr-xr-x | test/mm-send-sms.py | 44 |
1 files changed, 36 insertions, 8 deletions
diff --git a/test/mm-send-sms.py b/test/mm-send-sms.py index 6eb8eb75d..d9e1f3133 100755 --- a/test/mm-send-sms.py +++ b/test/mm-send-sms.py @@ -19,11 +19,29 @@ import sys import dbus import os -if len(sys.argv) != 3: - print "Usage: %s <number> <message>" % sys.argv[0] +arglen = len(sys.argv) +if arglen != 4 and arglen != 6 and arglen != 8: + print "Usage: %s --number <number> [--smsc <smsc>] [--validity <5 minute units>] <message>" % sys.argv[0] sys.exit(1) -number = sys.argv[1] +number = None +validity = None +smsc = None +message = None +x = 1 +while x < arglen - 1: + if sys.argv[x] == "--number": + x += 1 + number = sys.argv[x].strip() + elif sys.argv[x] == "--validity": + x += 1 + validity = int(sys.argv[x]) + elif sys.argv[x] == "--smsc": + x += 1 + smsc = sys.argv[x].strip() + else: + raise ValueError("Unknown option '%s'" % sys.argv[x]) + x += 1 try: lang = os.getenv("LANG") @@ -32,7 +50,8 @@ try: lang = lang[idx + 1:] except KeyError: lang = "utf-8" -message = unicode(sys.argv[2], "utf-8") +message = unicode(sys.argv[arglen - 1], "utf-8") + bus = dbus.SystemBus() @@ -47,10 +66,19 @@ proxy = bus.get_object('org.freedesktop.ModemManager', modems[0]) modem = dbus.Interface(proxy, dbus_interface='org.freedesktop.ModemManager.Modem') modem.Enable(True) -msg_dict = dbus.Dictionary({ dbus.String('number') : dbus.String(number), - dbus.String('text') : dbus.String(message) - }, - signature=dbus.Signature("sv")) +msg_dict = dbus.Dictionary( + { + dbus.String('number') : dbus.String(number), + dbus.String('text') : dbus.String(message) + }, + signature=dbus.Signature("sv") +) + +if smsc: + msg_dict[dbus.String('smsc')] = dbus.String(smsc) + +if validity: + msg_dict[dbus.String('validity')] = dbus.UInt32(validity) sms_iface = dbus.Interface(proxy, dbus_interface='org.freedesktop.ModemManager.Modem.Gsm.SMS') try: |