summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xexamples/python/get-active-connection-uuids.py24
1 files changed, 17 insertions, 7 deletions
diff --git a/examples/python/get-active-connection-uuids.py b/examples/python/get-active-connection-uuids.py
index 229a12eba8..9eefac20b2 100755
--- a/examples/python/get-active-connection-uuids.py
+++ b/examples/python/get-active-connection-uuids.py
@@ -27,19 +27,29 @@ import dbus, sys
bus = dbus.SystemBus()
# Get a proxy for the base NetworkManager object
-proxy = bus.get_object("org.freedesktop.NetworkManager", "/org/freedesktop/NetworkManager")
-manager = dbus.Interface(proxy, "org.freedesktop.NetworkManager")
-settings = dbus.Interface(proxy, "org.freedesktop.NetworkManager.Settings")
-mgr_props = dbus.Interface(proxy, "org.freedesktop.DBus.Properties")
+m_proxy = bus.get_object("org.freedesktop.NetworkManager", "/org/freedesktop/NetworkManager")
+manager = dbus.Interface(m_proxy, "org.freedesktop.NetworkManager")
+mgr_props = dbus.Interface(m_proxy, "org.freedesktop.DBus.Properties")
+
+s_proxy = bus.get_object("org.freedesktop.NetworkManager", "/org/freedesktop/NetworkManager/Settings")
+settings = dbus.Interface(s_proxy, "org.freedesktop.NetworkManager.Settings")
# Find the device the user wants to disconnect
active = mgr_props.Get("org.freedesktop.NetworkManager", "ActiveConnections")
for a in active:
a_proxy = bus.get_object("org.freedesktop.NetworkManager", a)
+
+ # Get the UUID directly; apps could use this to perform certain operations
+ # based on which network you're connected too
a_props = dbus.Interface(a_proxy, "org.freedesktop.DBus.Properties")
- uuid = prop_iface.Get("org.freedesktop.NetworkManager.Connection.Active", "Uuid")
- connection = settings.GetConnectionByUuid(uuid)
- print "%s (%s)" % (connection['connection']['id'], uuid)
+ uuid = a_props.Get("org.freedesktop.NetworkManager.Connection.Active", "Uuid")
+
+ # Grab the connection object path so we can get all the connection's settings
+ connection_path = a_props.Get("org.freedesktop.NetworkManager.Connection.Active", "Connection")
+ c_proxy = bus.get_object("org.freedesktop.NetworkManager", connection_path)
+ connection = dbus.Interface(c_proxy, "org.freedesktop.NetworkManager.Settings.Connection")
+ settings = connection.GetSettings()
+ print "%s (%s)" % (settings['connection']['id'], uuid)
if len(active) == 0:
print "No active connections"