From: Zac Medico Date: Mon, 15 Feb 2010 19:29:39 +0000 (-0000) Subject: Add a 'trees' parameter to portdbapi.cp_all(). Thanks to Brian Dolbec (dol-sen) X-Git-Tag: v2.2_rc63~46 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=d488c9f345f923825b722ae3cff0302d631c4842;p=portage.git Add a 'trees' parameter to portdbapi.cp_all(). Thanks to Brian Dolbec (dol-sen) for this patch. svn path=/main/trunk/; revision=15356 --- 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":