diff options
Diffstat (limited to 'portato/backend/portage/system_22.py')
-rw-r--r-- | portato/backend/portage/system_22.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/portato/backend/portage/system_22.py b/portato/backend/portage/system_22.py index 289849c..18e3b4e 100644 --- a/portato/backend/portage/system_22.py +++ b/portato/backend/portage/system_22.py @@ -20,6 +20,7 @@ from collections import defaultdict from .package_22 import PortagePackage_22 from .settings_22 import PortageSettings_22 from .system import PortageSystem +from . import sets as syssets class PortageSystem_22 (PortageSystem): @@ -30,6 +31,13 @@ class PortageSystem_22 (PortageSystem): self.use_descs = {} self.local_use_descs = defaultdict(dict) + self.setmap = { + self.SET_ALL : syssets.AllSet, + self.SET_INSTALLED : syssets.InstalledSet, + self.SET_UNINSTALLED : syssets.UninstalledSet, + self.SET_TREE : syssets.TreeSet + } + def has_set_support (self): return True @@ -39,5 +47,15 @@ class PortageSystem_22 (PortageSystem): else: return tuple(self.settings.setsconfig.getSets()) + def _get_set (self, pkgSet): + pkgSet = pkgSet.lower() + if pkgSet == "": pkgSet = self.SET_ALL + + s = self.setmap.get(pkgSet, None) + if s is None: + return syssets.PortageSet(pkgSet) + else: + return s() + def new_package (self, cpv): return PortagePackage_22(cpv) |