From 361c4166dab9d7494ffb07e86b4e2b1e40abab91 Mon Sep 17 00:00:00 2001 From: Fabio Erculiani Date: Fri, 16 Mar 2012 16:04:15 +0100 Subject: [PATCH] [entropy.client] introduce Client.unavailable_repositories() The method returns a sorted list of repositories identifiers belonging to repositories that are unavaiable or invalid. --- lib/entropy/client/interfaces/methods.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lib/entropy/client/interfaces/methods.py b/lib/entropy/client/interfaces/methods.py index c69114d71..6b990938a 100644 --- a/lib/entropy/client/interfaces/methods.py +++ b/lib/entropy/client/interfaces/methods.py @@ -987,6 +987,21 @@ class RepositoryMixin: """ return self._enabled_repos + def unavailable_repositories(self): + """ + Return a list of repositories that are currently unavailable on + the local system. + This method does a set difference from repositories() and + SystemSettings metadata. + + @return: list of unavailable (or broken) repositories + @rtype: list + """ + repositories = set(self.repositories()) + all_repositories = set(self._settings['repositories']['order']) + unavailable = all_repositories - repositories + return sorted(unavailable) + def installed_repository(self): """ Return Entropy Client installed packages repository.