summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorSrdjan Grubor <sgnn7@sgnn7.org>2015-03-11 13:47:47 -0500
committerThomas Haller <thaller@redhat.com>2015-03-12 10:39:00 +0100
commit0e1fe1fe4ef76cfc7fc31a6c75b4ac368dcd23d8 (patch)
treec4561be858867a7994cddec559acb686108afc44 /examples
parenta5891299b91a3887afd8f9605b0b7c97ee48e107 (diff)
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
Diffstat (limited to 'examples')
-rwxr-xr-xexamples/python/dbus/nm-state.py25
1 files changed, 19 insertions, 6 deletions
diff --git a/examples/python/dbus/nm-state.py b/examples/python/dbus/nm-state.py
index 94fa63099..176090f7c 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())