diff options
| author | Michael Vogt <michael.vogt@ubuntu.com> | 2012-01-31 14:59:23 +0100 |
|---|---|---|
| committer | Michael Vogt <michael.vogt@ubuntu.com> | 2012-01-31 14:59:23 +0100 |
| commit | 64c1ffa6310efdff6353346fe621aea10e36f2c9 (patch) | |
| tree | 7bf73141f728aa128c9cbe0e682dd1c16f742658 /python | |
| parent | 44163ca57ac3f6311e05b1521ac03f120e67d520 (diff) | |
| parent | 6f538d96ec35e80e19f1b33cad86b9ae45da54f5 (diff) | |
| download | python-apt-64c1ffa6310efdff6353346fe621aea10e36f2c9.tar.gz | |
merged from lp:~mvo/apt/mvo
Diffstat (limited to 'python')
| -rw-r--r-- | python/cache.cc | 7 | ||||
| -rw-r--r-- | python/policy.cc | 5 |
2 files changed, 11 insertions, 1 deletions
diff --git a/python/cache.cc b/python/cache.cc index b263d320..191e2204 100644 --- a/python/cache.cc +++ b/python/cache.cc @@ -229,6 +229,12 @@ static PyObject *PkgCacheGetGroups(PyObject *Self, void*) { return CppPyObject_NEW<GrpListStruct>(Self,&PyGroupList_Type,Cache->GrpBegin()); } +static PyObject *PkgCacheGetPolicy(PyObject *Self, void*) { + pkgCacheFile *CacheFile = GetCpp<pkgCacheFile *>(Self); + std::cerr << "policy: " << CacheFile->Policy << std::endl; + return CppPyObject_NEW<pkgPolicy*>(Self,&PyPolicy_Type,CacheFile->Policy); +} + static PyObject *PkgCacheGetPackages(PyObject *Self, void*) { pkgCache *Cache = GetCpp<pkgCache *>(Self); return CppPyObject_NEW<PkgListStruct>(Self,&PyPackageList_Type,Cache->PkgBegin()); @@ -289,6 +295,7 @@ static PyGetSetDef PkgCacheGetSet[] = { {"group_count",PkgCacheGetGroupCount,0, "The number of apt_pkg.Group objects stored in the cache."}, {"groups", PkgCacheGetGroups, 0, "A list of Group objects in the cache"}, + {"policy", PkgCacheGetPolicy, 0, "The PkgPolicy for the cache"}, {"is_multi_arch", PkgCacheGetIsMultiArch, 0, "Whether the cache supports multi-arch."}, {"package_count",PkgCacheGetPackageCount,0, diff --git a/python/policy.cc b/python/policy.cc index b11e4dde..96b83abd 100644 --- a/python/policy.cc +++ b/python/policy.cc @@ -46,8 +46,11 @@ PyObject *policy_get_priority(PyObject *self, PyObject *arg) { if (PyObject_TypeCheck(arg, &PyPackage_Type)) { pkgCache::PkgIterator pkg = GetCpp<pkgCache::PkgIterator>(arg); return MkPyNumber(policy->GetPriority(pkg)); + } else if (PyObject_TypeCheck(arg, &PyPackageFile_Type)) { + pkgCache::PkgFileIterator pkgfile = GetCpp<pkgCache::PkgFileIterator>(arg); + return MkPyNumber(policy->GetPriority(pkgfile)); } else { - PyErr_SetString(PyExc_TypeError,"Argument must be of Package()."); + PyErr_SetString(PyExc_TypeError,"Argument must be of Package() or PackageFile()."); return 0; } } |
