summaryrefslogtreecommitdiff
path: root/test/vpn-get
diff options
context:
space:
mode:
Diffstat (limited to 'test/vpn-get')
-rwxr-xr-xtest/vpn-get48
1 files changed, 48 insertions, 0 deletions
diff --git a/test/vpn-get b/test/vpn-get
new file mode 100755
index 00000000..f1f760cc
--- /dev/null
+++ b/test/vpn-get
@@ -0,0 +1,48 @@
+#!/usr/bin/python
+
+import dbus
+
+def extract_values(values):
+ val = "{"
+ for key in values.keys():
+ val += " " + key + "="
+ if key in ["Servers", "Excludes"]:
+ val += extract_list(values[key])
+ else:
+ val += str(values[key])
+ val += " }"
+ return val
+
+def extract_list(list):
+ val = "["
+ for i in list:
+ if type(i).__name__ == 'Dictionary':
+ val += extract_values(i)
+ elif type(i).__name__ == 'Struct':
+ val += extract_list(i)
+ else:
+ val += " " + str(i)
+ val += "]"
+ return val
+
+bus = dbus.SystemBus()
+
+manager = dbus.Interface(bus.get_object('net.connman.vpn', '/'),
+ 'net.connman.vpn.Manager')
+
+for entry in manager.GetConnections():
+ path = entry[0]
+ properties = entry[1]
+
+ print "[ %s ]" % (path)
+
+ for key in properties.keys():
+ if key in ["IPv4", "IPv6" ]:
+ val = extract_values(properties[key])
+ elif key in ["Nameservers","ServerRoutes","UserRoutes"]:
+ val = extract_list(properties[key])
+ else:
+ val = str(properties[key])
+ print " %s = %s" % (key, val)
+
+ print