* 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.
This commit is contained in:
Faik Uygur
2006-10-13 06:53:37 +00:00
parent d6b9209b83
commit ad3ab31bc7
2 changed files with 8 additions and 3 deletions
+1 -1
View File
@@ -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()
+7 -2
View File
@@ -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))