From: Zac Medico Date: Tue, 2 Mar 2010 20:20:19 +0000 (-0000) Subject: Add a 'trees' parameter to portdbapi.cp_all(). Thanks to Brian Dolbec (dol-sen) X-Git-Tag: v2.1.8~139 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=5270f4c886028c67a347540713aa1704ad4f5282;p=portage.git Add a 'trees' parameter to portdbapi.cp_all(). Thanks to Brian Dolbec (dol-sen) for this patch. (trunk r15356) svn path=/main/branches/2.1.7/; revision=15583 --- diff --git a/pym/portage/dbapi/porttree.py b/pym/portage/dbapi/porttree.py index 5a845118d..6012cd414 100644 --- a/pym/portage/dbapi/porttree.py +++ b/pym/portage/dbapi/porttree.py @@ -901,13 +901,22 @@ class portdbapi(dbapi): else: return 0 - def cp_all(self, categories=None): - "returns a list of all keys in our tree" + def cp_all(self, categories=None, trees=None): + """ + This returns a list of all keys in our tree or trees + @param categories: optional list of categories to search or + defaults to self.settings.categories + @param trees: optional list of trees to search the categories in or + defaults to self.porttrees + @rtype list of [cat/pkg,...] + """ d = {} if categories is None: categories = self.settings.categories + if trees is None: + trees = self.porttrees for x in categories: - for oroot in self.porttrees: + for oroot in trees: for y in listdir(oroot+"/"+x, EmptyOnError=1, ignorecvs=1, dirsonly=1): if not self._pkg_dir_name_re.match(y) or \ y == "CVS":