def add_mac_filter(query, value): if utils.is_int_like(value): return query.filter_by(id=value) elif utils.is_valid_mac(value): return query.filter_by(address=value) else: raise exception.InvalidMAC(mac=value)
def validate_and_normalize_mac(address): """Validate a MAC address and return normalized form. Checks whether the supplied MAC address is formally correct and normalize it to all lower case. :param address: MAC address to be validated and normalized. :returns: Normalized and validated MAC address. :raises: InvalidMAC If the MAC address is not valid. """ if not is_valid_mac(address): raise exception.InvalidMAC(mac=address) return address.lower()