8 manager = dbus.Interface(bus.get_object("net.connman", "/"),
12 print "Usage: %s <command>" % (sys.argv[0])
16 print " apn <service> [apn]"
17 print " passphrase <service> [passphrase]"
18 print " autoconnect <service> [autoconnect]"
19 print " connect <service>"
20 print " disconnect <service>"
21 print " remove <service>"
24 print " enable <type>"
25 print " disable <type>"
26 print " offlinemode [on|off]"
29 def print_services(services):
31 service = dbus.Interface(bus.get_object("net.connman", path),
32 "net.connman.Service")
34 properties = service.GetProperties()
36 identifier = path[path.rfind("/") + 1:]
38 if properties["Favorite"] == dbus.Boolean(1):
43 if "Name" in properties.keys():
44 name = properties["Name"]
46 name = "{" + properties["Type"] + "}"
48 print "%s %-26s { %s }" % (favorite, name, identifier)
50 if sys.argv[1] == "state":
51 properties = manager.GetProperties()
53 print "System is %s" % (properties["State"])
55 elif sys.argv[1] in ["services", "list", "show"]:
56 properties = manager.GetProperties()
58 print_services(properties["Services"])
60 elif sys.argv[1] in ["apn"]:
61 if (len(sys.argv) < 3):
62 print "Need at least service parameter"
65 path = "/profile/default/" + sys.argv[2]
67 service = dbus.Interface(bus.get_object("net.connman", path),
68 "net.connman.Service")
70 if (len(sys.argv) > 3):
73 service.SetProperty("APN", apn);
75 print "APN %s set for %s" % (apn, sys.argv[2])
77 properties = service.GetProperties()
79 if "Name" in properties.keys():
80 name = properties["Name"]
82 name = "{" + properties["Type"] + "}"
84 if "APN" in properties.keys():
85 apn = properties["APN"]
89 print "APN for %s is %s" % (name, apn)
91 elif sys.argv[1] in ["passphrase", "pass"]:
92 if (len(sys.argv) < 3):
93 print "Need at least service parameter"
96 path = "/profile/default/" + sys.argv[2]
98 service = dbus.Interface(bus.get_object("net.connman", path),
99 "net.connman.Service")
101 if (len(sys.argv) > 3):
102 passphrase = sys.argv[3]
104 service.SetProperty("Passphrase", passphrase);
106 print "Passphrase %s set for %s" % (passphrase, sys.argv[2])
108 properties = service.GetProperties()
110 if "Name" in properties.keys():
111 name = properties["Name"]
113 name = "{" + properties["Type"] + "}"
115 if "Passphrase" in properties.keys():
116 passphrase = properties["Passphrase"]
118 passphrase = "not set"
120 print "Passphrase for %s is %s" % (name, passphrase)
122 elif sys.argv[1] in ["autoconnect", "autoconn"]:
123 if (len(sys.argv) < 3):
124 print "Need at least service parameter"
127 path = "/profile/default/" + sys.argv[2]
129 service = dbus.Interface(bus.get_object("net.connman", path),
130 "net.connman.Service")
132 if (len(sys.argv) > 3):
133 flag = sys.argv[3].strip().lower()
134 autoconnect = dbus.Boolean(flag not in ['false', 'f', 'n', '0'])
136 service.SetProperty("AutoConnect", autoconnect);
138 print "Auto connect %s for %s" % (autoconnect, sys.argv[2])
140 properties = service.GetProperties()
142 if "Name" in properties.keys():
143 name = properties["Name"]
145 name = "{" + properties["Type"] + "}"
147 if "AutoConnect" in properties.keys():
148 autoconnect = properties["AutoConnect"]
150 autoconnect = dbus.Boolean(0)
152 print "Auto connect %s for %s" % (autoconnect, name)
154 elif sys.argv[1] in ["connect", "conn"]:
155 if (len(sys.argv) < 3):
156 print "Need at least service parameter"
159 path = "/profile/default/" + sys.argv[2]
161 service = dbus.Interface(bus.get_object("net.connman", path),
162 "net.connman.Service")
165 service.Connect(timeout=60000)
166 except dbus.DBusException, error:
167 print "%s: %s" % (error._dbus_error_name, error.message)
169 elif sys.argv[1] in ["disconnect", "disc"]:
170 if (len(sys.argv) < 3):
171 print "Need at least service parameter"
174 path = "/profile/default/" + sys.argv[2]
176 service = dbus.Interface(bus.get_object("net.connman", path),
177 "net.connman.Service")
181 except dbus.DBusException, error:
182 print "%s: %s" % (error._dbus_error_name, error.message)
184 elif sys.argv[1] in ["remove"]:
185 if (len(sys.argv) < 3):
186 print "Need at least service parameter"
189 path = "/profile/default/" + sys.argv[2]
191 service = dbus.Interface(bus.get_object("net.connman", path),
192 "net.connman.Service")
194 properties = service.GetProperties()
196 if properties["Favorite"] == dbus.Boolean(0):
197 print "Only favorite services can be removed"
202 except dbus.DBusException, error:
203 print "%s: %s" % (error._dbus_error_name, error.message)
205 elif sys.argv[1] == "scan":
206 if len(sys.argv) > 2:
207 manager.RequestScan(sys.argv[2])
209 manager.RequestScan("")
211 elif sys.argv[1] == "enable":
212 if len(sys.argv) > 2:
213 manager.EnableTechnology(sys.argv[2])
215 manager.EnableTechnology("")
217 elif sys.argv[1] == "disable":
218 if len(sys.argv) > 2:
219 manager.DisableTechnology(sys.argv[2])
221 manager.DisableTechnology("")
223 elif sys.argv[1] in ["offlinemode", "flightmode"]:
224 if len(sys.argv) > 2:
225 if sys.argv[2] == "on":
226 active = dbus.Boolean(1)
227 elif sys.argv[2] == "off":
228 active = dbus.Boolean(0)
230 active = dbus.Boolean(sys.argv[2])
231 manager.SetProperty("OfflineMode", active)
233 properties = manager.GetProperties()
234 print "Offline mode is %s" % (properties["OfflineMode"])
237 print "Unknown command"