* 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:
@@ -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
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user