graph-depends: split off get_rdepends from get_depends

The use of a 'rule' variable that can contain 'show-depends' or
'show-rdepends' is not logical if get_depends is considered as a reusable
function from various scripts. The name of these rules are too much an
implementation detail.

Therefore, split the existing get_depends into two separate functions
get_depends and get_rdepends, while keeping code duplication to a minimum.

Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Thomas De Schampheleire 2017-02-03 21:57:45 +01:00 committed by Thomas Petazzoni
parent 12683184b1
commit 412e6c80ad
2 changed files with 16 additions and 7 deletions

View File

@ -102,13 +102,13 @@ else:
transitive = args.transitive
if args.direct:
rule = "show-depends"
get_depends_func = pkgutil.get_depends
arrow_dir = "forward"
else:
if mode == MODE_FULL:
sys.stderr.write("--reverse needs a package\n")
sys.exit(1)
rule = "show-rdepends"
get_depends_func = pkgutil.get_rdepends
arrow_dir = "back"
# Get the colours: we need exactly three colours,
@ -157,7 +157,7 @@ def get_all_depends(pkgs):
if len(filtered_pkgs) == 0:
return []
depends = pkgutil.get_depends(filtered_pkgs, rule)
depends = get_depends_func(filtered_pkgs)
deps = set()
for pkg in filtered_pkgs:

View File

@ -25,10 +25,7 @@ def get_version(pkgs):
version[pkg] = output[i]
return version
# Execute the "make <pkg>-show-depends" command to get the list of
# dependencies of a given list of packages, and return the list of
# dependencies formatted as a Python dictionary.
def get_depends(pkgs, rule):
def _get_depends(pkgs, rule):
sys.stderr.write("Getting dependencies for %s\n" % pkgs)
cmd = ["make", "-s", "--no-print-directory" ]
for pkg in pkgs:
@ -51,3 +48,15 @@ def get_depends(pkgs, rule):
else:
deps[pkg] = pkg_deps
return deps
# Execute the "make <pkg>-show-depends" command to get the list of
# dependencies of a given list of packages, and return the list of
# dependencies formatted as a Python dictionary.
def get_depends(pkgs):
return _get_depends(pkgs, 'show-depends')
# Execute the "make <pkg>-show-rdepends" command to get the list of
# reverse dependencies of a given list of packages, and return the
# list of dependencies formatted as a Python dictionary.
def get_rdepends(pkgs):
return _get_depends(pkgs, 'show-rdepends')