summary refs log tree commit diff
path: root/examples/python/dbus/list-devices.py
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2020-10-05 22:27:18 +0200
committerMichael Biebl <biebl@debian.org>2020-10-05 22:27:18 +0200
commitaafc1dbe4712c86189bbc1d4d54ad8cb4c69be7e (patch)
treea2a9bb4d007339a0b1304540388230ccedac32bd /examples/python/dbus/list-devices.py
parente7b44ef4c80907346ec7492a09c45277459924fc (diff)
New upstream version 1.27.90 upstream/1.27.90
Diffstat (limited to 'examples/python/dbus/list-devices.py')
-rwxr-xr-xexamples/python/dbus/list-devices.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/examples/python/dbus/list-devices.py b/examples/python/dbus/list-devices.py
index 882841e6..910bc461 100755
--- a/examples/python/dbus/list-devices.py
+++ b/examples/python/dbus/list-devices.py
@@ -4,11 +4,17 @@
 # Copyright (C) 2011 - 2012 Red Hat, Inc.
 #
 
-import dbus
+import dbus, socket, struct
 
 # This example lists basic information about network interfaces known to NM
 
 # For the types see include/NetworkManager.h
+
+
+def int_to_ip(ip_int):
+    return socket.inet_ntoa(struct.pack("=I", ip_int))
+
+
 devtypes = {
     1: "Ethernet",
     2: "Wi-Fi",
@@ -56,19 +62,23 @@ manager = dbus.Interface(proxy, "org.freedesktop.NetworkManager")
 
 # Get all devices known to NM and print their properties
 devices = manager.GetDevices()
+
 for d in devices:
     dev_proxy = bus.get_object("org.freedesktop.NetworkManager", d)
     prop_iface = dbus.Interface(dev_proxy, "org.freedesktop.DBus.Properties")
     props = prop_iface.GetAll("org.freedesktop.NetworkManager.Device")
+
     print("============================")
 
     print("Interface: %s" % props["Interface"])
+    print("Ip 4 Address: %s" % int_to_ip(props["Ip4Address"]))
+    print("Ip 4 Config: %s" % props["Ip4Config"])
+
     try:
         devtype = devtypes[props["DeviceType"]]
     except KeyError:
         devtype = "Unknown"
     print("Type: %s" % devtype)
-
     print("Driver: %s" % props["Driver"])
 
     try: