def getent_networks(database, keys=None): db_af = _get_af(database) if not keys: write_networks(NslcdClient(constants.NSLCD_ACTION_NETWORK_ALL), db_af) return for key in keys: ipv4_addr = _get_ipv4(key) ipv6_addr = _get_ipv6(key) if ipv4_addr and db_af in (socket.AF_INET, None): con = NslcdClient(constants.NSLCD_ACTION_NETWORK_BYADDR) con.write_address(socket.AF_INET, ipv4_addr) elif ipv6_addr and db_af in (socket.AF_INET6, None): con = NslcdClient(constants.NSLCD_ACTION_NETWORK_BYADDR) con.write_address(socket.AF_INET6, ipv6_addr) else: con = NslcdClient(constants.NSLCD_ACTION_NETWORK_BYNAME) con.write_string(key) write_networks(con, db_af)
def getent_networks(database, key=None): db_af = _get_af(database) if not key: con = NslcdClient(constants.NSLCD_ACTION_NETWORK_ALL) else: ipv4_addr = _get_ipv4(key) ipv6_addr = _get_ipv6(key) if ipv4_addr and db_af in (socket.AF_INET, None): con = NslcdClient(constants.NSLCD_ACTION_NETWORK_BYADDR) con.write_address(socket.AF_INET, ipv4_addr) elif ipv6_addr and db_af in (socket.AF_INET, None): con = NslcdClient(constants.NSLCD_ACTION_NETWORK_BYADDR) con.write_address(socket.AF_INET6, ipv6_addr) else: con = NslcdClient(constants.NSLCD_ACTION_NETWORK_BYNAME) con.write_string(key) while con.get_response() == constants.NSLCD_RESULT_BEGIN: names = ' '.join([con.read_string()] + con.read_stringlist()) for af, address in con.read_addresslist(): if db_af in (af, None): print '%-15s %s' % (address, names)