def execute(self, ns, package_array,
            _allow_duplicates=False,
            _installed=False,
            _available=False,
            _repoid=None):
        if _installed and _available:
            _installed = not _available
        else:
            _installed = None
        if _installed is None:
            yield ('NEVRA', 'Installed', 'Summary')
        else:
            yield ('NEVRA', 'Summary')
        for pkg_spec in package_array:
            for pkg in software.find_package(ns,
                    allow_duplicates=_allow_duplicates,
                    exact_match=False,
                    installed=_installed,
                    pkg_spec=pkg_spec,
                    repoid=_repoid):
                inst = pkg.to_instance()
                nevra = software.get_package_nevra(inst)
                if _installed is None:
                    yield (nevra,
                        'Yes' if software.is_package_installed(inst) else 'No',
                        inst.Caption)
                else:
                    yield (nevra, inst.Caption)
dataset/ETHPy150Open openlmi/openlmi-scripts/commands/software/lmi/scripts/software/cmd.py/Search.execute/operator `or` -> `and`