示例#1
0
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)
示例#2
0
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()