diff options
Diffstat (limited to 'apt/package.py')
| -rw-r--r-- | apt/package.py | 31 |
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): |
