def find_devices()

in pci_lib/pci_lib.py [0:0]


def find_devices(**kwargs):
    # XXX: check kwargs against PCIDevice
    for pci_device in list_devices():
        for key, val in kwargs.items():
            v = getattr(pci_device, key)
            if isinstance(val, (list, tuple, set)):
                if v not in val:
                    break
            else:
                if v != val:
                    break
        else:
            # all specified keys match
            yield pci_device