def execute(self, ns, package, _repoid=None, _installed=False):
        def _render_installed(package):
            result = "No"
            if software.get_backend(ns) == software.BACKEND_YUM and \
                    package.InstallDate is not None:
                result = package.InstallDate.datetime.strftime(
                        '%a %b %d/%Y  %H:%M')
            elif software.get_backend(ns) == software.BACKEND_PACKAGEKIT or \
                    software.is_package_installed(package):
                result = "Yes"
            return result

        properties = [
                'Name',
                ('Arch', 'Architecture'),
                'Version',
                'Release',
                ('Summary', 'Caption'),
                ('Installed', _render_installed),
                'Description']
        pkgs = [   p.to_instance()
               for p in software.find_package(ns,
                        pkg_spec=package,
                        repoid=_repoid)]
        pkgs = [p for p in pkgs if not _installed or \
                software.is_package_installed(p)]
        if len(pkgs) < 1:
            raise errors.LmiFailed('No such package "%s" found.' % package)
        if len(pkgs) > 1:
            LOG().warn('More than one package found for "%s" : %s',
                    package, ', '.join(p.ElementName for p in pkgs))

        return (properties, pkgs[-1])
dataset/ETHPy150Open openlmi/openlmi-scripts/commands/software/lmi/scripts/software/cmd.py/PkgInfo.execute/operator `and` -> `or`