---
Makefile.am | 3 +-
test/set-proxy | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 76 insertions(+), 1 deletions(-)
create mode 100755 test/set-proxy
diff --git a/Makefile.am b/Makefile.am
index 1bf7207..128d4b8 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -179,7 +179,8 @@ test_scripts = test/get-state test/list-profiles
test/list-services \
test/monitor-manager test/test-counter test/set-ip-method \
test/set-nameservers test/set-domains test/find-service \
test/get-services test/get-proxy-autoconfig \
- test/enable-tethering test/disable-tethering test/backtrace
+ test/enable-tethering test/disable-tethering test/backtrace \
+ test/set-proxy
if TEST
testdir = $(pkglibdir)/test
diff --git a/test/set-proxy b/test/set-proxy
new file mode 100755
index 0000000..35a4bf1
--- /dev/null
+++ b/test/set-proxy
@@ -0,0 +1,74 @@
+#!/usr/bin/python
+
+import sys
+import dbus
+
+if (len(sys.argv) < 2):
+ print "Usage: %s <service> [direct|auto|manual|auto-config]
[url=pac-url] [http=host:port] [https=host:port] [ftp=host:port]
[socks=host:port] [rtsp=host:port] [ignore=host1,host2,...]" % (sys.argv[0])
+ print "Example: %s service0 manual http=http.proxy.example.com:8080
rtsp=" % sys.argv[0]
+ print " This would set the http proxy and clear the rtsp proxy
values"
+ sys.exit(1)
+
+bus = dbus.SystemBus()
+path = "/profile/default/" + sys.argv[1]
+service = dbus.Interface(bus.get_object('org.moblin.connman', path),
+ 'org.moblin.connman.Service')
+values = {}
+values["Method"] = sys.argv[2]
+
+properties = service.GetProperties()
+
+for arg in sys.argv[3:]:
+ if arg.startswith("url="):
+ url = arg.replace("url=", "", 1)
+ #print "url: %s" % url
+ values["URL"] = url
+ if arg.startswith("http="):
+ try:
+ (host, port) = arg.replace("http=","",1).split(":")
+ except:
+ (host, port) = ("", 0)
+ #print "http: %s:%s" % (host, port)
+ values["Http"] = host
+ values["HttpPort"] = dbus.UInt16(port)
+ if arg.startswith("https="):
+ try:
+ (host, port) = arg.replace("https=","",1).split(":")
+ except:
+ (host, port) = ("", 0)
+ #print "https: %s:%s" % (host, port)
+ values["Https"] = host
+ values["HttpsPort"] = dbus.UInt16(port)
+ if arg.startswith("ftp="):
+ try:
+ (host, port) = arg.replace("ftp=","",1).split(":")
+ except:
+ (host, port) = ("", 0)
+ #print "ftp: %s:%s" % (host, port)
+ values["Ftp"] = host
+ values["FtpPort"] = dbus.UInt16(port)
+ if arg.startswith("socks="):
+ try:
+ (host, port) = arg.replace("socks=","",1).split(":")
+ except:
+ (host, port) = ("", 0)
+ #print "socks: %s:%s" % (host, port)
+ values["Socks"] = host
+ values["SocksPort"] = dbus.UInt16(port)
+ if arg.startswith("rtsp="):
+ try:
+ (host, port) = arg.replace("rtsp=","",1).split(":")
+ except:
+ (host, port) = ("", 0)
+ #print "rtsp: %s:%s" % (host, port)
+ values["Rtsp"] = host
+ values["RtspPort"] = dbus.UInt16(port)
+ if arg.startswith("ignore="):
+ try:
+ ignore_hosts = arg.replace("ignore=","",1).split(",")
+ except:
+ ignore_hosts = []
+ #print "ignore: %s" % ignore_hosts
+ values["Ignore"] = ignore_hosts
+
+service.SetProperty("Proxy.Configuration", dbus.Dictionary(values, signature =
"sv"))
--
1.7.0.4
_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman