#!/usr/bin/python import dbus, flimflam, sys if (len(sys.argv) < 2): print "Usage: %s <device | interface>" % (sys.argv[0]) sys.exit(1) (_, name) = sys.argv flim = flimflam.FlimFlam(dbus.SystemBus()) device = flim.FindElementByNameSubstring('Device', name) if device is None: device = flim.FindElementByPropertySubstring('Device', 'Interface', name) if device is None: print "No such device or interface %s" % name sys.exit(1) properties = device.GetProperties(utf8_strings = True) for path in properties["IPConfigs"]: ipconfig = flim.GetObjectInterface("IPConfig", path) ipconfig_properties = ipconfig.GetProperties(utf8_strings = True) print "[ %s ]" % (ipconfig.object_path) for key in ipconfig_properties.keys(): print " %s = %s" % \ (key, flimflam.convert_dbus_value(ipconfig_properties[key], 8)) print