summaryrefslogtreecommitdiff
path: root/apt/package.py
diff options
context:
space:
mode:
Diffstat (limited to 'apt/package.py')
-rw-r--r--apt/package.py31
1 files changed, 12 insertions, 19 deletions
diff --git a/apt/package.py b/apt/package.py
index 8d44ef02..7322bb94 100644
--- a/apt/package.py
+++ b/apt/package.py
@@ -64,15 +64,16 @@ class BaseDependency(object):
name - The name of the dependency
relation - The relation (>>,>=,==,<<,<=,)
version - The version depended on
+ rawtype - The type of the dependendy (e.g. 'Recommends')
preDepend - Boolean value whether this is a pre-dependency.
"""
- def __init__(self, name, rel, ver, pre, recommends=False):
+ def __init__(self, name, rel, ver, pre, rawtype=None):
self.name = name
self.relation = rel
self.version = ver
self.preDepend = pre
- self.recommends = recommends
+ self.rawtype = rawtype
def __repr__(self):
return ('<BaseDependency: name:%r relation:%r version:%r preDepend:%r>'
@@ -360,9 +361,8 @@ class Version(object):
"""Return a Record() object for this version."""
return Record(self._records.Record)
- @property
- def dependencies(self):
- """Return the dependencies of the package version."""
+ def get_dependencies(self, *types):
+ """Return a list of Dependency objects for the given types."""
depends_list = []
depends = self._cand.DependsList
for t in ["PreDepends", "Depends"]:
@@ -372,28 +372,21 @@ class Version(object):
for depOr in depVerList:
base_deps.append(BaseDependency(depOr.TargetPkg.Name,
depOr.CompType, depOr.TargetVer,
- (t == "PreDepends")))
+ (t == "PreDepends"), rawtype=t))
depends_list.append(Dependency(base_deps))
except KeyError:
pass
return depends_list
@property
+ def dependencies(self):
+ """Return the dependencies of the package version."""
+ return self.get_dependencies("PreDepends", "Depends")
+
+ @property
def recommends(self):
"""Return the recommends of the package version."""
- recommends_list = []
- depends = self._cand.DependsList
- try:
- for depVerList in depends["Recommends"]:
- base_recs = []
- for depOr in depVerList:
- base_recs.append(BaseDependency(depOr.TargetPkg.Name,
- depOr.CompType,
- False, True))
- recommends_list.append(Dependency(base_recs))
- except KeyError:
- pass
- return recommends_list
+ return self.get_dependencies("Recommends")
@property
def origins(self):