summaryrefslogtreecommitdiff
path: root/apt
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2009-08-19 15:20:04 +0200
committerMichael Vogt <michael.vogt@ubuntu.com>2009-08-19 15:20:04 +0200
commit3774f875be6bbe97b98032b72f3933ed151b35a8 (patch)
treed29fe14d01d0b937fe3031685bd7f872a4c1b78e /apt
parent3240444c0e57d36c6ed822c51c4f41903f939d3e (diff)
parent6a094eb0c26f0997e271f6242654293809a4e4a1 (diff)
downloadpython-apt-3774f875be6bbe97b98032b72f3933ed151b35a8.tar.gz
merged from debian-sid
Diffstat (limited to 'apt')
-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):