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):
29 service = dbus.Interface(bus.get_object("net.connman", path),
30 "net.connman.Service")
32 properties = service.GetProperties()
34 identifier = path[path.rfind("/") + 1:]
36 if properties["Favorite"] == dbus.Boolean(1):
41 if "Name" in properties.keys():
42 name = properties["Name"]
44 name = "{" + properties["Type"] + "}"
46 print "%s %-26s { %s }" % (favorite, name, identifier)
48 if sys.argv[1] == "state":
49 properties = manager.GetProperties()
51 print "System is %s" % (properties["State"])
53 elif sys.argv[1] in ["services", "list", "show"]:
54 properties = manager.GetProperties()
56 print_services(properties["Services"])
58 elif sys.argv[1] in ["autoconnect", "autoconn"]:
59 if (len(sys.argv) < 3):
60 print "Need at least service parameter"
63 path = "/net/connman/service/" + sys.argv[2]
65 service = dbus.Interface(bus.get_object("net.connman", path),
66 "net.connman.Service")
68 if (len(sys.argv) > 3):
69 flag = sys.argv[3].strip().lower()
70 autoconnect = dbus.Boolean(flag not in ['false', 'f', 'n', '0'])
72 service.SetProperty("AutoConnect", autoconnect);
74 print "Auto connect %s for %s" % (autoconnect, sys.argv[2])
76 properties = service.GetProperties()
78 if "Name" in properties.keys():
79 name = properties["Name"]
81 name = "{" + properties["Type"] + "}"
83 if "AutoConnect" in properties.keys():
84 autoconnect = properties["AutoConnect"]
86 autoconnect = dbus.Boolean(0)
88 print "Auto connect %s for %s" % (autoconnect, name)
90 elif sys.argv[1] in ["connect", "conn"]:
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")
101 service.Connect(timeout=60000)
102 except dbus.DBusException, error:
103 print "%s: %s" % (error._dbus_error_name, error.message)
105 elif sys.argv[1] in ["disconnect", "disc"]:
106 if (len(sys.argv) < 3):
107 print "Need at least service parameter"
110 path = "/net/connman/service/" + sys.argv[2]
112 service = dbus.Interface(bus.get_object("net.connman", path),
113 "net.connman.Service")
117 except dbus.DBusException, error:
118 print "%s: %s" % (error._dbus_error_name, error.message)
120 elif sys.argv[1] in ["remove"]:
121 if (len(sys.argv) < 3):
122 print "Need at least service parameter"
125 path = "/net/connman/service/" + sys.argv[2]
127 service = dbus.Interface(bus.get_object("net.connman", path),
128 "net.connman.Service")
130 properties = service.GetProperties()
132 if properties["Favorite"] == dbus.Boolean(0):
133 print "Only favorite services can be removed"
138 except dbus.DBusException, error:
139 print "%s: %s" % (error._dbus_error_name, error.message)
141 elif sys.argv[1] == "scan":
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")
148 elif sys.argv[1] == "enable":
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", True)
155 elif sys.argv[1] == "disable":
156 if len(sys.argv) > 2:
157 path = "/net/connman/technology/" + sys.argv[2]
158 technology = dbus.Interface(bus.get_object("net.connman", path),
159 "net.connman.Technology")
160 technology.SetProperty("Powered", False)
162 elif sys.argv[1] in ["offlinemode", "flightmode"]:
163 if len(sys.argv) > 2:
164 if sys.argv[2] == "on":
165 active = dbus.Boolean(1)
166 elif sys.argv[2] == "off":
167 active = dbus.Boolean(0)
169 active = dbus.Boolean(sys.argv[2])
170 manager.SetProperty("OfflineMode", active)
172 properties = manager.GetProperties()
173 print "Offline mode is %s" % (properties["OfflineMode"])
176 print "Unknown command"