From 1898e03577eac27a8e27561eda952647643ec69b Mon Sep 17 00:00:00 2001 From: René 'Necoro' Neumann Date: Thu, 26 Jun 2008 20:26:25 +0200 Subject: Added very basic set querying --- portato/backend/portage/system.py | 6 ++++++ portato/backend/portage/system_22.py | 6 ++++++ portato/backend/system_interface.py | 15 +++++++++++++++ 3 files changed, 27 insertions(+) (limited to 'portato/backend') diff --git a/portato/backend/portage/system.py b/portato/backend/portage/system.py index feaf4df..58f687e 100644 --- a/portato/backend/portage/system.py +++ b/portato/backend/portage/system.py @@ -37,6 +37,12 @@ class PortageSystem (SystemInterface): self.use_descs = {} self.local_use_descs = defaultdict(dict) + def has_set_support (self): + return False + + def get_sets (self): + return (("world", "The world set."), ("system", "The system set.")) + def get_version (self): return "Portage %s" % portage.VERSION diff --git a/portato/backend/portage/system_22.py b/portato/backend/portage/system_22.py index be27186..88d968b 100644 --- a/portato/backend/portage/system_22.py +++ b/portato/backend/portage/system_22.py @@ -30,5 +30,11 @@ class PortageSystem_22 (PortageSystem): self.use_descs = {} self.local_use_descs = defaultdict(dict) + def has_set_support (self): + return True + + def get_sets (self): + return ((name, set.description) for name, set in self.settings.setsconfig.getSets().iteritems()) + def new_package (self, cpv): return PortagePackage_22(cpv) diff --git a/portato/backend/system_interface.py b/portato/backend/system_interface.py index 4b0f8df..16f0a9c 100644 --- a/portato/backend/system_interface.py +++ b/portato/backend/system_interface.py @@ -12,6 +12,21 @@ class SystemInterface (object): + def has_set_support (self): + """Signals, whether this backend supports sets. + + @rtype: boolean + """ + raise NotImplementedError + + def get_sets (self): + """Returns all supported sets in tuples consisting of name and description. + If sets aren't supported, at least "world" and "system" have to be returned. + + @rtype: (string, string)[] + """ + raise NotImplementedError + def get_version (self): """Returns the version of the used backend. -- cgit v1.2.3-54-g00ecf