diff options
| author | Michael Vogt <michael.vogt@ubuntu.com> | 2009-08-19 15:20:04 +0200 |
|---|---|---|
| committer | Michael Vogt <michael.vogt@ubuntu.com> | 2009-08-19 15:20:04 +0200 |
| commit | 3774f875be6bbe97b98032b72f3933ed151b35a8 (patch) | |
| tree | d29fe14d01d0b937fe3031685bd7f872a4c1b78e | |
| parent | 3240444c0e57d36c6ed822c51c4f41903f939d3e (diff) | |
| parent | 6a094eb0c26f0997e271f6242654293809a4e4a1 (diff) | |
| download | python-apt-3774f875be6bbe97b98032b72f3933ed151b35a8.tar.gz | |
merged from debian-sid
| -rw-r--r-- | apt/package.py | 31 | ||||
| -rw-r--r-- | debian/changelog | 10 |
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 |
