8 manager = dbus.Interface(bus.get_object("net.connman", "/"),
12 print "Usage: %s <command>" % (sys.argv[0])
16 print " passphrase <service> [passphrase]"
17 print " autoconnect <service> [autoconnect]"
18 print " connect <service>"
19 print " disconnect <service>"
20 print " remove <service>"
23 print " enable <type>"
24 print " disable <type>"
25 print " offlinemode [on|off]"
28 def print_services(services):
30 service = dbus.Interface(bus.get_object("net.connman", path),
31 "net.connman.Service")
33 properties = service.GetProperties()
35 identifier = path[path.rfind("/") + 1:]
37 if properties["Favorite"] == dbus.Boolean(1):
42 if "Name" in properties.keys():
43 name = properties["Name"]
45 name = "{" + properties["Type"] + "}"
47 print "%s %-26s { %s }" % (favorite, name, identifier)
49 if sys.argv[1] == "state":
50 properties = manager.GetProperties()
52 print "System is %s" % (properties["State"])
54 elif sys.argv[1] in ["services", "list", "show"]:
55 properties = manager.GetProperties()
57 print_services(properties["Services"])
59 elif sys.argv[1] in ["passphrase", "pass"]:
60 if (len(sys.argv) < 3):
61 print "Need at least service parameter"
64 path = "/net/connman/service/" + sys.argv[2]
66 service = dbus.Interface(bus.get_object("net.connman", path),
67 "net.connman.Service")
69 if (len(sys.argv) > 3):
70 passphrase = sys.argv[3]
72 service.SetProperty("Passphrase", passphrase);
74 print "Passphrase %s set for %s" % (passphrase, sys.argv[2])
76 properties = service.GetProperties()
78 if "Name" in properties.keys():
79 name = properties["Name"]
81 name = "{" + properties["Type"] + "}"
83 if "Passphrase" in properties.keys():
84 passphrase = properties["Passphrase"]
86 passphrase = "not set"
88 print "Passphrase for %s is %s" % (name, passphrase)
90 elif sys.argv[1] in ["autoconnect", "autoconn"]:
91 if (len(sys.argv) < 3):
92 print "Need at least service parameter"
95 path = "/net/connman/service/" + sys.argv[2]
97 service = dbus.Interface(bus.get_object("net.connman", path),
98 "net.connman.Service")
100 if (len(sys.argv) > 3):
101 flag = sys.argv[3].strip().lower()
102 autoconnect = dbus.Boolean(flag not in ['false', 'f', 'n', '0'])
104 service.SetProperty("AutoConnect", autoconnect);
106 print "Auto connect %s for %s" % (autoconnect, sys.argv[2])
108 properties = service.GetProperties()
110 if "Name" in properties.keys():
111 name = properties["Name"]
113 name = "{" + properties["Type"] + "}"
115 if "AutoConnect" in properties.keys():
116 autoconnect = properties["AutoConnect"]
118 autoconnect = dbus.Boolean(0)
120 print "Auto connect %s for %s" % (autoconnect, name)
122 elif sys.argv[1] in ["connect", "conn"]:
123 if (len(sys.argv) < 3):
124 print "Need at least service parameter"
127 path = "/net/connman/service/" + sys.argv[2]
129 service = dbus.Interface(bus.get_object("net.connman", path),
130 "net.connman.Service")
133 service.Connect(timeout=60000)
134 except dbus.DBusException, error:
135 print "%s: %s" % (error._dbus_error_name, error.message)
137 elif sys.argv[1] in ["disconnect", "disc"]:
138 if (len(sys.argv) < 3):
139 print "Need at least service parameter"
142 path = "/net/connman/service/" + sys.argv[2]
144 service = dbus.Interface(bus.get_object("net.connman", path),
145 "net.connman.Service")
149 except dbus.DBusException, error:
150 print "%s: %s" % (error._dbus_error_name, error.message)
152 elif sys.argv[1] in ["remove"]:
153 if (len(sys.argv) < 3):
154 print "Need at least service parameter"
157 path = "/net/connman/service/" + sys.argv[2]
159 service = dbus.Interface(bus.get_object("net.connman", path),
160 "net.connman.Service")
162 properties = service.GetProperties()
164 if properties["Favorite"] == dbus.Boolean(0):
165 print "Only favorite services can be removed"
170 except dbus.DBusException, error:
171 print "%s: %s" % (error._dbus_error_name, error.message)
173 elif sys.argv[1] == "scan":
174 if len(sys.argv) > 2:
175 manager.RequestScan(sys.argv[2])
177 manager.RequestScan("")
179 elif sys.argv[1] == "enable":
180 if len(sys.argv) > 2:
181 manager.EnableTechnology(sys.argv[2])
183 manager.EnableTechnology("")
185 elif sys.argv[1] == "disable":
186 if len(sys.argv) > 2:
187 manager.DisableTechnology(sys.argv[2])
189 manager.DisableTechnology("")
191 elif sys.argv[1] in ["offlinemode", "flightmode"]:
192 if len(sys.argv) > 2:
193 if sys.argv[2] == "on":
194 active = dbus.Boolean(1)
195 elif sys.argv[2] == "off":
196 active = dbus.Boolean(0)
198 active = dbus.Boolean(sys.argv[2])
199 manager.SetProperty("OfflineMode", active)
201 properties = manager.GetProperties()
202 print "Offline mode is %s" % (properties["OfflineMode"])
205 print "Unknown command"