Source code for pkgcore.pkgsets.installed
__all__ = ("Installed", "VersionedInstalled")
import operator
from ..config.hint import ConfigHint
from ..restrictions import packages, values
class _Base:
"""Base for Installed and VersionedInstalled."""
def __init__(self, vdb):
self.vdbs = vdb
def __iter__(self):
restrict = packages.PackageRestriction(
"package_is_real", values.EqualityMatch(True)
)
for repo in self.vdbs:
for pkg in repo.itermatch(restrict):
yield self.getter(pkg)
[docs]
class Installed(_Base):
"""Set of packages holding slotted atoms of all installed packages."""
pkgcore_config_type = ConfigHint(types={"vdb": "refs:repo"}, typename="pkgset")
getter = operator.attrgetter("slotted_atom")
[docs]
class VersionedInstalled(_Base):
"""Set of packages holding versioned atoms of all installed packages."""
pkgcore_config_type = ConfigHint(types={"vdb": "refs:repo"}, typename="pkgset")
getter = operator.attrgetter("versioned_atom")