From ad3ab31bc7a1a5cd1a9aa6c7b1f15963bac84d34 Mon Sep 17 00:00:00 2001 From: Faik Uygur Date: Fri, 13 Oct 2006 06:53:37 +0000 Subject: [PATCH] * there were two ways to get packages of the component. component.packages - returns this component's packages. component.get_packages() - returns also added underlying components' packages. this is confusing. unify these with added "walk" parameter to get_packages() default get_packages will return this component's packages. --- pisi/cli/commands.py | 2 +- pisi/component.py | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/pisi/cli/commands.py b/pisi/cli/commands.py index cf1ad347..0ecdfd93 100644 --- a/pisi/cli/commands.py +++ b/pisi/cli/commands.py @@ -1265,7 +1265,7 @@ all repositories. component = ctx.get_option('component') if component: - list = ctx.componentdb.get_packages(component, repo) + list = ctx.componentdb.get_packages(component, repo=repo) else: list = ctx.packagedb.list_packages(repo) installed_list = ctx.installdb.list_installed() diff --git a/pisi/component.py b/pisi/component.py index d6a02d21..49a945ff 100644 --- a/pisi/component.py +++ b/pisi/component.py @@ -121,11 +121,16 @@ class ComponentDB(object): def list_components(self, repo=None): return self.d.list(repo) - def get_packages(self, component_name, repo=None, txn = None): + # Returns the package list of the component + # walk: walks through the underlying components' packages + def get_packages(self, component_name, walk=False, repo=None, txn = None): """returns the given component's and underlying recursive components' packages""" - packages = [] component = self.get_component(component_name, repo, txn) + if not walk: + return component.packages + + packages = [] packages.extend(component.packages) for dep in component.dependencies: packages.extend(self.get_packages(dep))