1c7e02c5a25198cc5b5889841f8bd5af8322cf78
[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 parser = argparse.ArgumentParser()
8 parser.add_argument("objectName", help="{objectName}")
9 parser.add_argument("property", help="{propertyToSet}")
10 parser.add_argument("value", help="{value}")
11 parser.add_argument("valueType", help="{valueType}")
12 parser.add_argument("zone", help="{zone}")
13
14 args = parser.parse_args()
15
16 objectName = args.objectName
17 propertyToSet = args.property
18 value = args.value
19 valueType = args.valueType.lower()
20 zone = int(args.zone)
21
22 realValue = 0
23
24 if valueType == "boolean":
25   realValue = value == "true"
26 elif valueType == "integer":
27   realValue = dbus.Int32(value)
28 elif valueType == "string":
29   realValue = value
30 elif valueType == "double":
31   realValue = double(value)
32 elif valueType == "UInt16":
33   realValue = dbus.UInt16(value)
34 else:
35   raise Exception("Unknown type: " + valueType)
36
37 bus = dbus.SystemBus()
38 managerObject = bus.get_object("org.automotive.message.broker", "/");
39 managerInterface = dbus.Interface(managerObject, "org.automotive.Manager")
40
41 object = managerInterface.FindObjectForZone(objectName, zone)
42
43 propertiesInterface = dbus.Interface(bus.get_object("org.automotive.message.broker", object),"org.freedesktop.DBus.Properties")
44 propertiesInterface.Set("org.automotive."+objectName, propertyToSet, realValue)
45 print "Success!"