12f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley#!/usr/bin/python 22f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley 32f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wileyimport dbus, flimflam, sys 42f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley 52f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wileyif (len(sys.argv) < 2): 62f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley print "Usage: %s <address>" % (sys.argv[0]) 72f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley sys.exit(1) 82f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley 92f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley(_, address) = sys.argv 102f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley 112f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wileyflim = flimflam.FlimFlam(dbus.SystemBus()) 122f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley 132f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wileyfor device in flim.GetObjectList("Device"): 142f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley device_properties = device.GetProperties(utf8_strings = True) 152f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley 162f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley for path in device_properties["IPConfigs"]: 172f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley ipconfig = flim.GetObjectInterface("IPConfig", path) 182f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley ipconfig_properties = ipconfig.GetProperties(utf8_strings = True) 192f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley 202f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley if ipconfig_properties["Method"] not in ["ipv4","ipv6"]: 212f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley print "Skip %s; method %s" % (ipconfig.object_path, 222f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley ipconfig_properties["Method"]) 232f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley continue 242f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley 252f48d9572459c2c90d68e8b017b86eb843fe2a74Christopher Wiley ipconfig.SetProperty("Address", address) 26