summaryrefslogtreecommitdiff
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
parent3240444c0e57d36c6ed822c51c4f41903f939d3e (diff)
parent6a094eb0c26f0997e271f6242654293809a4e4a1 (diff)
downloadpython-apt-3774f875be6bbe97b98032b72f3933ed151b35a8.tar.gz
merged from debian-sid
-rw-r--r--apt/package.py31
-rw-r--r--debian/changelog10
2 files changed, 20 insertions, 21 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):
diff --git a/debian/changelog b/debian/changelog
index 8baf39f8..03f0ad5b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,9 +1,15 @@
-python-apt (0.7.12.2) unstable; urgency=low
+python-apt (0.7.12.2) UNRELEASED; urgency=low
+ [ Michael Vogt ]
* apt/package.py:
- add "recommends" property
- -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 18 Aug 2009 11:13:17 +0200
+ [ Julian Andres Klode ]
+ * apt/package.py:
+ - Introduce Version.get_dependencies() which takes one or more types
+ of dependencies and returns a list of Dependency objects.
+
+ -- Julian Andres Klode <jak@debian.org> Tue, 18 Aug 2009 13:22:56 +0200
python-apt (0.7.12.1) unstable; urgency=low