From 1f1cc6179cd9c7f15231a4d082fdbf374ad7cace Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Wed, 26 Apr 2006 09:42:54 +0200 Subject: * added a simple "all_deps" recursive example --- doc/examples/all_deps.py | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 doc/examples/all_deps.py diff --git a/doc/examples/all_deps.py b/doc/examples/all_deps.py new file mode 100644 index 00000000..f4f1741c --- /dev/null +++ b/doc/examples/all_deps.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python + +import sys +import apt + + +def dependencies(cache, pkg, deps, key="Depends"): + #print "pkg: %s (%s)" % (pkg.name, deps) + candver = cache._depcache.GetCandidateVer(pkg._pkg) + if candver == None: + return deps + dependslist = candver.DependsList + if dependslist.has_key(key): + for depVerList in dependslist[key]: + for dep in depVerList: + if cache.has_key(dep.TargetPkg.Name): + if pkg.name != dep.TargetPkg.Name and not dep.TargetPkg.Name in deps: + deps.add(dep.TargetPkg.Name) + dependencies(cache, cache[dep.TargetPkg.Name], deps, key) + return deps + + +pkgname = sys.argv[1] +c = apt.Cache() +pkg = c[pkgname] + +deps = set() + +deps = dependencies(c,pkg, deps, "Depends") +print " ".join(deps) + +preDeps = set() +preDeps = dependencies(c,pkg, preDeps, "PreDepends") +print " ".join(preDeps) -- cgit v1.2.3