summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2010-01-13 12:12:50 +0100
committerMichael Vogt <michael.vogt@ubuntu.com>2010-01-13 12:12:50 +0100
commit06bc637621014289a812d48a5c479dfe699527f2 (patch)
treea54391cb1de7394edaba9b980bcb4d0e30f69b19
parent8d4420aecf43b588e8485c71d8e2b0bd9371432d (diff)
downloadpython-apt-06bc637621014289a812d48a5c479dfe699527f2.tar.gz
* python/cache.cc:
- add UntranslatedDepType attribute to DependencyType - add DepTypeEnum that returns a value from {DepDepends, DepPreDepends, ...} * python/apt_pkgmodule.cc: - add DepDpkgBreaks, DepEnhances constants * doc/source/apt_pkg/{cache.rst, index.rst}: - update documentation as well
-rw-r--r--debian/changelog8
-rw-r--r--doc/source/apt_pkg/cache.rst9
-rw-r--r--doc/source/apt_pkg/index.rst3
-rw-r--r--python/apt_pkgmodule.cc2
-rw-r--r--python/cache.cc27
5 files changed, 38 insertions, 11 deletions
diff --git a/debian/changelog b/debian/changelog
index ba5dd918..d6d19bbf 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -13,6 +13,14 @@ python-apt (0.7.13.5) UNRELEASED; urgency=low
- add "enhances" property
* data/templates/Ubuntu.info.in:
- add lucid
+ * python/cache.cc:
+ - add UntranslatedDepType attribute to DependencyType
+ - add DepTypeEnum that returns a value from
+ {DepDepends, DepPreDepends, ...}
+ * python/apt_pkgmodule.cc:
+ - add DepDpkgBreaks, DepEnhances constants
+ * doc/source/apt_pkg/{cache.rst, index.rst}:
+ - update documentation as well
-- Michael Vogt <michael.vogt@ubuntu.com> Wed, 02 Dec 2009 16:50:55 +0100
diff --git a/doc/source/apt_pkg/cache.rst b/doc/source/apt_pkg/cache.rst
index 334b7869..1be81b42 100644
--- a/doc/source/apt_pkg/cache.rst
+++ b/doc/source/apt_pkg/cache.rst
@@ -596,8 +596,17 @@ Example:
.. attribute:: DepType
+ The type of the dependency, as translated string, eg. "Depends".
+
+ .. attribute:: UntranslatedDepType
+
The type of the dependency, as string, eg. "Depends".
+ .. attribute:: DepTypeEnum
+
+ The type of the dependency, as integer that matches a value
+ of `Dependency types`_
+
.. attribute:: ID
The ID of the package, as integer.
diff --git a/doc/source/apt_pkg/index.rst b/doc/source/apt_pkg/index.rst
index 6e7b772e..aba7d82e 100644
--- a/doc/source/apt_pkg/index.rst
+++ b/doc/source/apt_pkg/index.rst
@@ -336,12 +336,15 @@ Dependency types
^^^^^^^^^^^^^^^^
.. data:: DepConflicts
.. data:: DepDepends
+.. data:: DepDpkgBreaks
+.. data:: DepEnhances
.. data:: DepObsoletes
.. data:: DepPreDepends
.. data:: DepRecommends
.. data:: DepReplaces
.. data:: DepSuggests
+
.. _InstStates:
Installed states
diff --git a/python/apt_pkgmodule.cc b/python/apt_pkgmodule.cc
index 86732781..bfa1227e 100644
--- a/python/apt_pkgmodule.cc
+++ b/python/apt_pkgmodule.cc
@@ -504,6 +504,8 @@ extern "C" void initapt_pkg()
AddInt(Dict,"DepConflicts",pkgCache::Dep::Conflicts);
AddInt(Dict,"DepReplaces",pkgCache::Dep::Replaces);
AddInt(Dict,"DepObsoletes",pkgCache::Dep::Obsoletes);
+ AddInt(Dict,"DepDpkgBreaks",pkgCache::Dep::DpkgBreaks);
+ AddInt(Dict,"DepEnhances",pkgCache::Dep::Enhances);
AddInt(Dict,"PriImportant",pkgCache::State::Important);
AddInt(Dict,"PriRequired",pkgCache::State::Required);
diff --git a/python/cache.cc b/python/cache.cc
index a88490bd..023cf041 100644
--- a/python/cache.cc
+++ b/python/cache.cc
@@ -27,6 +27,17 @@
class pkgSourceList;
+// must be in sync with pkgCache::DepType in libapt
+// it sucks to have it here duplicated, but we get it
+// translated from libapt and that is certainly not what
+// we want in a programing interface
+const char *UntranslatedDepTypes[] =
+{
+ "", "Depends","PreDepends","Suggests",
+ "Recommends","Conflicts","Replaces",
+ "Obsoletes", "Breaks", "Enhances"
+};
+
/*}}}*/
struct PkgListStruct
{
@@ -495,17 +506,7 @@ static PyObject *MakeDepends(PyObject *Owner,pkgCache::VerIterator &Ver,
// Switch/create a new dict entry
if (LastDepType != Start->Type || LastDep != 0)
{
- // must be in sync with pkgCache::DepType in libapt
- // it sucks to have it here duplicated, but we get it
- // translated from libapt and that is certainly not what
- // we want in a programing interface
- const char *Types[] =
- {
- "", "Depends","PreDepends","Suggests",
- "Recommends","Conflicts","Replaces",
- "Obsoletes", "Breaks", "Enhances"
- };
- PyObject *Dep = PyString_FromString(Types[Start->Type]);
+ PyObject *Dep = PyString_FromString(UntranslatedDepTypes[Start->Type]);
LastDepType = Start->Type;
LastDep = PyDict_GetItem(Dict,Dep);
if (LastDep == 0)
@@ -823,6 +824,10 @@ static PyObject *DependencyAttr(PyObject *Self,char *Name)
return PyString_FromString(Dep.CompType());
else if (strcmp("DepType",Name) == 0)
return PyString_FromString(Dep.DepType());
+ else if (strcmp("UntranslatedDepType",Name) == 0)
+ return PyString_FromString(UntranslatedDepTypes[Dep->Type]);
+ else if (strcmp("DepTypeEnum",Name) == 0)
+ return Py_BuildValue("i", Dep->Type);
else if (strcmp("ID",Name) == 0)
return Py_BuildValue("i",Dep->ID);