From 0e1fe1fe4ef76cfc7fc31a6c75b4ac368dcd23d8 Mon Sep 17 00:00:00 2001 From: Srdjan Grubor Date: Wed, 11 Mar 2015 13:47:47 -0500 Subject: examples: update Python NM example to print detailed connection state Current Python NM example has a very crude connection state output and the global NM connectivity is not used in them either. https://bugzilla.gnome.org/show_bug.cgi?id=746045 --- examples/python/dbus/nm-state.py | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) (limited to 'examples') diff --git a/examples/python/dbus/nm-state.py b/examples/python/dbus/nm-state.py index 94fa630999..176090f7c7 100755 --- a/examples/python/dbus/nm-state.py +++ b/examples/python/dbus/nm-state.py @@ -34,11 +34,29 @@ device_states = { 0: "Unknown", 110: "Deactivating", 120: "Failed" } +connectivity_states = { 0: "Unknown", + 1: "Activating", + 2: "Activated", + 3: "Deactivating", + 4: "Deactivated" } + +nm_state = { 0: "Unknown", + 10: "Asleep", + 20: "Disconnected", + 30: "Disconnecting", + 40: "Connecting", + 50: "Connected-Local", + 60: "Connected-Site", + 70: "Connected-Global" } + bus = dbus.SystemBus() proxy = bus.get_object("org.freedesktop.NetworkManager", "/org/freedesktop/NetworkManager") manager = dbus.Interface(proxy, "org.freedesktop.NetworkManager") +# Get overall NM connection state +print("NetworkManager state is: '%s'" % nm_state[manager.state()]) + # Get device-specific state devices = manager.GetDevices() for d in devices: @@ -73,9 +91,4 @@ for a in active: con_details = con_iface.GetSettings() con_name = con_details['connection']['id'] - if state == 2: # activated - print "Connection '%s' is activated" % con_name - else: - print "Connection '%s' is activating" % con_name - - + print "Connection '%s' is %s" % (con_name, connectivity_states[state].lower()) -- cgit v1.2.1