Merge pull request #58 from tripzero/master
[profile/ivi/automotive-message-broker.git] / tests / amb-set.py
1 #!/usr/bin/python
2
3 import dbus
4 import sys
5 import argparse
6
7 print "This application is deprecated.  It will disappear in the future.  Use ambctl"
8
9 parser = argparse.ArgumentParser()
10 parser.add_argument("objectName", help="{objectName}")
11 parser.add_argument("property", help="{propertyToSet}")
12 parser.add_argument("value", help="{value}")
13 parser.add_argument("valueType", help="{valueType}")
14 parser.add_argument("zone", help="{zone}")
15
16 args = parser.parse_args()
17
18 objectName = args.objectName
19 propertyToSet = args.property
20 value = args.value
21 valueType = args.valueType.lower()
22 zone = int(args.zone)
23
24 realValue = 0
25
26 if valueType == "boolean":
27         realValue = value == "true"
28 elif valueType == "integer":
29         realValue = dbus.Int32(value)
30 elif valueType == "string":
31         realValue = value
32 elif valueType == "double":
33         realValue = double(value)
34 elif valueType == "UInt16":
35         realValue = dbus.UInt16(value)
36 else:
37         raise Exception("Unknown type: " + valueType)
38
39 bus = dbus.SystemBus()
40 managerObject = bus.get_object("org.automotive.message.broker", "/");
41 managerInterface = dbus.Interface(managerObject, "org.automotive.Manager")
42
43 object = managerInterface.FindObjectForZone(objectName, zone)
44
45 propertiesInterface = dbus.Interface(bus.get_object("org.automotive.message.broker", object),"org.freedesktop.DBus.Properties")
46 propertiesInterface.Set("org.automotive."+objectName, propertyToSet, realValue)
47 print "Success!"