8 manager = dbus.Interface(bus.get_object("net.connman", "/"),
12 print "Usage: %s <command>" % (sys.argv[0])
16 print " autoconnect <service> [autoconnect]"
17 print " connect <service>"
18 print " disconnect <service>"
19 print " remove <service>"
22 print " enable <type>"
23 print " disable <type>"
24 print " offlinemode [on|off]"
27 def print_services(services):
28 for path, properties in services:
29 identifier = path[path.rfind("/") + 1:]
31 if properties["Favorite"] == dbus.Boolean(1):
36 if "Name" in properties.keys():
37 name = properties["Name"]
39 name = "{" + properties["Type"] + "}"
41 print "%s %-26s { %s }" % (favorite, name, identifier)
43 if sys.argv[1] == "state":
44 properties = manager.GetProperties()
46 print "System is %s" % (properties["State"])
48 elif sys.argv[1] in ["services", "list", "show"]:
49 print_services(manager.GetServices())
51 elif sys.argv[1] in ["autoconnect", "autoconn"]:
52 if (len(sys.argv) < 3):
53 print "Need at least service parameter"
56 path = "/net/connman/service/" + sys.argv[2]
58 service = dbus.Interface(bus.get_object("net.connman", path),
59 "net.connman.Service")
61 if (len(sys.argv) > 3):
62 flag = sys.argv[3].strip().lower()
63 autoconnect = dbus.Boolean(flag not in ['false', 'f', 'n', '0'])
65 service.SetProperty("AutoConnect", autoconnect);
67 print "Auto connect %s for %s" % (autoconnect, sys.argv[2])
69 properties = service.GetProperties()
71 if "Name" in properties.keys():
72 name = properties["Name"]
74 name = "{" + properties["Type"] + "}"
76 if "AutoConnect" in properties.keys():
77 autoconnect = properties["AutoConnect"]
79 autoconnect = dbus.Boolean(0)
81 print "Auto connect %s for %s" % (autoconnect, name)
83 elif sys.argv[1] in ["connect", "conn"]:
84 if (len(sys.argv) < 3):
85 print "Need at least service parameter"
88 path = "/net/connman/service/" + sys.argv[2]
90 service = dbus.Interface(bus.get_object("net.connman", path),
91 "net.connman.Service")
94 service.Connect(timeout=60000)
95 except dbus.DBusException, error:
96 print "%s: %s" % (error._dbus_error_name, error.message)
98 elif sys.argv[1] in ["disconnect", "disc"]:
99 if (len(sys.argv) < 3):
100 print "Need at least service parameter"
103 path = "/net/connman/service/" + sys.argv[2]
105 service = dbus.Interface(bus.get_object("net.connman", path),
106 "net.connman.Service")
110 except dbus.DBusException, error:
111 print "%s: %s" % (error._dbus_error_name, error.message)
113 elif sys.argv[1] in ["remove"]:
114 if (len(sys.argv) < 3):
115 print "Need at least service parameter"
118 path = "/net/connman/service/" + sys.argv[2]
120 service = dbus.Interface(bus.get_object("net.connman", path),
121 "net.connman.Service")
123 properties = service.GetProperties()
125 if properties["Favorite"] == dbus.Boolean(0):
126 print "Only favorite services can be removed"
131 except dbus.DBusException, error:
132 print "%s: %s" % (error._dbus_error_name, error.message)
134 elif sys.argv[1] == "scan":
135 if len(sys.argv) > 2:
136 path = "/net/connman/technology/" + sys.argv[2]
137 technology = dbus.Interface(bus.get_object("net.connman", path),
138 "net.connman.Technology")
141 elif sys.argv[1] == "enable":
142 if len(sys.argv) > 2:
143 path = "/net/connman/technology/" + sys.argv[2]
144 technology = dbus.Interface(bus.get_object("net.connman", path),
145 "net.connman.Technology")
146 technology.SetProperty("Powered", True)
148 elif sys.argv[1] == "disable":
149 if len(sys.argv) > 2:
150 path = "/net/connman/technology/" + sys.argv[2]
151 technology = dbus.Interface(bus.get_object("net.connman", path),
152 "net.connman.Technology")
153 technology.SetProperty("Powered", False)
155 elif sys.argv[1] in ["offlinemode", "flightmode"]:
156 if len(sys.argv) > 2:
157 if sys.argv[2] == "on":
158 active = dbus.Boolean(1)
159 elif sys.argv[2] == "off":
160 active = dbus.Boolean(0)
162 active = dbus.Boolean(sys.argv[2])
163 manager.SetProperty("OfflineMode", active)
165 properties = manager.GetProperties()
166 print "Offline mode is %s" % (properties["OfflineMode"])
169 print "Unknown command"