def filter_by_device_owner(query, device_owners=None):
    """Filter ports by device_owner

    Either filter using specified device_owner or using the list of all
    device_owners supported and unsupported by the arista ML2 plugin
    """
    port_model = models_v2.Port
    if not device_owners:
        device_owners = utils.SUPPORTED_DEVICE_OWNERS
    supported_device_owner_filter = [
        port_model.device_owner.ilike('%s%%' % owner)
        for owner in device_owners]
    unsupported_device_owner_filter = [
        port_model.device_owner.notilike('%s%%' % owner)
        for owner in utils.UNSUPPORTED_DEVICE_OWNERS]
    query = (query
             .filter(
                 and_(*unsupported_device_owner_filter),
                 or_(*supported_device_owner_filter)))
    return query
def filter_by_device_owner ( query , device_owners = None ) : port_model = models_v2 . Port if not device_owners : device_owners = utils . SUPPORTED_DEVICE_OWNERS supported_device_owner_filter = [ port_model . device_owner . ilike ( '%s%%' % owner ) for owner in device_owners ] unsupported_device_owner_filter = [ port_model . device_owner . notilike ( '%s%%' % owner ) for owner in utils . UNSUPPORTED_DEVICE_OWNERS ] query = ( query . filter ( and_ ( * unsupported_device_owner_filter ) , or_ ( * supported_device_owner_filter ) ) ) return query
Filter ports by device_owner

    Either filter using specified device_owner or using the list of all
    device_owners supported and unsupported by the arista ML2 plugin