| #!/usr/bin/python |
| |
| import dbus, flimflam, sys |
| |
| if (len(sys.argv) < 2): |
| print "Usage: %s <address>" % (sys.argv[0]) |
| sys.exit(1) |
| |
| (_, address) = sys.argv |
| |
| flim = flimflam.FlimFlam(dbus.SystemBus()) |
| |
| for device in flim.GetObjectList("Device"): |
| device_properties = device.GetProperties(utf8_strings = True) |
| |
| for path in device_properties["IPConfigs"]: |
| ipconfig = flim.GetObjectInterface("IPConfig", path) |
| ipconfig_properties = ipconfig.GetProperties(utf8_strings = True) |
| |
| if ipconfig_properties["Method"] not in ["ipv4","ipv6"]: |
| print "Skip %s; method %s" % (ipconfig.object_path, |
| ipconfig_properties["Method"]) |
| continue |
| |
| ipconfig.SetProperty("Address", address) |