| #!/usr/bin/python | |
| import sys | |
| import dbus | |
| if (len(sys.argv) < 2): | |
| print "Usage:" | |
| print "%s <service> direct" % (sys.argv[0]) | |
| print "%s <service> manual [servers=uri1,uri2,...] [excludes=host1,host2,...]" % (sys.argv[0]) | |
| print "%s <service> auto url=[pac-url]" % (sys.argv[0]) | |
| print "Example: %s service0 manual servers=proxy.example.com:8080" % sys.argv[0] | |
| print " This would set the proxy uri and the method to manual" | |
| sys.exit(1) | |
| bus = dbus.SystemBus() | |
| path = "/net/connman/service/" + sys.argv[1] | |
| service = dbus.Interface(bus.get_object('net.connman', path), | |
| 'net.connman.Service') | |
| values = { "Method" : sys.argv[2] } | |
| properties = service.GetProperties() | |
| for arg in sys.argv[3:]: | |
| if arg.startswith("url="): | |
| url = arg.replace("url=", "", 1) | |
| values["URL"] = url | |
| if arg.startswith("servers="): | |
| try: | |
| servers_uris = arg.replace("servers=","",1).split(",") | |
| except: | |
| servers_uris = [] | |
| values["Servers"] = servers_uris | |
| if arg.startswith("excludes="): | |
| try: | |
| excludes_uris = arg.replace("excludes=","",1).split(",") | |
| except: | |
| excludes_uris = [] | |
| values["Excludes"] = excludes_uris | |
| try: | |
| service.SetProperty("Proxy.Configuration", dbus.Dictionary(values, signature='sv')) | |
| except dbus.exceptions.DBusException, e_msg: | |
| print e_msg |