Upgrade ofono to 1.2
[profile/ivi/ofono.git] / test / list-modems
1 #!/usr/bin/python
2
3 import dbus
4
5 bus = dbus.SystemBus()
6
7 manager = dbus.Interface(bus.get_object('org.ofono', '/'),
8                                                 'org.ofono.Manager')
9
10 modems = manager.GetModems()
11
12 for path, properties in modems:
13         print "[ %s ]" % (path)
14
15         for key in properties.keys():
16                 if key in ["Interfaces", "Features"]:
17                         val = ""
18                         for i in properties[key]:
19                                 val += i + " "
20                 else:
21                         val = properties[key]
22                 print "    %s = %s" % (key, val)
23
24         for interface in properties["Interfaces"]:
25                 object = dbus.Interface(bus.get_object('org.ofono', path),
26                                                                 interface)
27
28                 print "    [ %s ]" % (interface)
29
30                 try:
31                         properties = object.GetProperties()
32                 except:
33                         continue
34
35                 for key in properties.keys():
36                         if key in ["Calls",
37                                         "MultipartyCalls",
38                                         "EmergencyNumbers",
39                                         "SubscriberNumbers",
40                                         "PreferredLanguages",
41                                         "PrimaryContexts",
42                                         "LockedPins",
43                                         "Features"]:
44                                 val = ""
45                                 for i in properties[key]:
46                                         val += i + " "
47                         elif key in ["ServiceNumbers"]:
48                                 val = ""
49                                 for i in properties[key]:
50                                         val += "[" + i + "] = '"
51                                         val += properties[key][i] + "' "
52                         elif key in ["MobileNetworkCodeLength",
53                                                 "VoicemailMessageCount",
54                                                 "MicrophoneVolume",
55                                                 "SpeakerVolume",
56                                                 "Strength",
57                                                 "DataStrength",
58                                                 "BatteryChargeLevel"]:
59                                 val = int(properties[key])
60                         elif key in ["MainMenu"]:
61                                 val = ", ".join([ text + " (" + str(int(icon)) +
62                                         ")" for text, icon in properties[key] ])
63                         elif key in ["Retries"]:
64                                 val = ""
65                                 for i in properties[key]:
66                                         val +=  "[" + i + " = "
67                                         val += str(int(properties[key][i])) + "] "
68                         elif key in ["Settings"]:
69                                 val = "{"
70                                 for i in properties[key].keys():
71                                         val += " " + i + "="
72                                         if i in ["DomainNameServers"]:
73                                                 for n in properties[key][i]:
74                                                         val += n + ","
75                                         else:
76                                                 val += properties[key][i]
77                                 val += " }"
78                         else:
79                                 val = properties[key]
80                         print "        %s = %s" % (key, val)
81
82         print