* 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')
|
component = ctx.get_option('component')
|
||||||
if component:
|
if component:
|
||||||
list = ctx.componentdb.get_packages(component, repo)
|
list = ctx.componentdb.get_packages(component, repo=repo)
|
||||||
else:
|
else:
|
||||||
list = ctx.packagedb.list_packages(repo)
|
list = ctx.packagedb.list_packages(repo)
|
||||||
installed_list = ctx.installdb.list_installed()
|
installed_list = ctx.installdb.list_installed()
|
||||||
|
|||||||
+7
-2
@@ -121,11 +121,16 @@ class ComponentDB(object):
|
|||||||
def list_components(self, repo=None):
|
def list_components(self, repo=None):
|
||||||
return self.d.list(repo)
|
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"""
|
"""returns the given component's and underlying recursive components' packages"""
|
||||||
|
|
||||||
packages = []
|
|
||||||
component = self.get_component(component_name, repo, txn)
|
component = self.get_component(component_name, repo, txn)
|
||||||
|
if not walk:
|
||||||
|
return component.packages
|
||||||
|
|
||||||
|
packages = []
|
||||||
packages.extend(component.packages)
|
packages.extend(component.packages)
|
||||||
for dep in component.dependencies:
|
for dep in component.dependencies:
|
||||||
packages.extend(self.get_packages(dep))
|
packages.extend(self.get_packages(dep))
|
||||||
|
|||||||
Reference in New Issue
Block a user