summaryrefslogtreecommitdiff
path: root/python/cdrom.cc
diff options
context:
space:
mode:
authorJulian Andres Klode <jak@debian.org>2009-07-19 15:48:14 +0200
committerJulian Andres Klode <jak@debian.org>2009-07-19 15:48:14 +0200
commitaaa8c4f98eb92bba9418e15560617b78be90b5d6 (patch)
tree995edc3f900294cd7d22f5e49bd89965c94219cb /python/cdrom.cc
parent7debfcbb984fe059ff08b7edba40f14bff2c28a6 (diff)
downloadpython-apt-aaa8c4f98eb92bba9418e15560617b78be90b5d6.tar.gz
python/cdrom.cc: New style ident returns None on failure.
Returning a tuple (bool, str) is useless when one can just return a string or None.
Diffstat (limited to 'python/cdrom.cc')
-rw-r--r--python/cdrom.cc34
1 files changed, 24 insertions, 10 deletions
diff --git a/python/cdrom.cc b/python/cdrom.cc
index 6ee3becd..bd181af7 100644
--- a/python/cdrom.cc
+++ b/python/cdrom.cc
@@ -32,22 +32,35 @@ static PyObject *PkgCdromAdd(PyObject *Self,PyObject *Args)
static PyObject *PkgCdromIdent(PyObject *Self,PyObject *Args)
{
pkgCdrom &Cdrom = GetCpp<pkgCdrom>(Self);
-
PyObject *pyCdromProgressInst = 0;
-#ifdef COMPAT_0_7
- if (PyArg_ParseTuple(Args, "O", &pyCdromProgressInst) == 0) {
-#else
if (PyArg_ParseTuple(Args, "O!", &PyCdromProgress_Type,
&pyCdromProgressInst) == 0) {
-#endif
return 0;
}
+
+ PyCdromProgress progress;
+ progress.setCallbackInst(pyCdromProgressInst);
+
+ string ident;
+ bool res = Cdrom.Ident(ident, &progress);
+
+ if (res)
+ return CppPyString(ident);
+ else {
+ Py_INCREF(Py_None);
+ return HandleErrors(Py_None);
+ }
+}
+
#ifdef COMPAT_0_7
- if (!PyObject_TypeCheck(pyCdromProgressInst, &PyCdromProgress_Type)) {
- PyErr_WarnEx(PyExc_DeprecationWarning, "Argument should be a subclass of"
- " apt_pkg.CdromProgress.", 1);
+static PyObject *PkgCdromIdent_old(PyObject *Self,PyObject *Args)
+{
+ pkgCdrom &Cdrom = GetCpp<pkgCdrom>(Self);
+
+ PyObject *pyCdromProgressInst = 0;
+ if (PyArg_ParseTuple(Args, "O", &pyCdromProgressInst) == 0) {
+ return 0;
}
-#endif
PyCdromProgress progress;
progress.setCallbackInst(pyCdromProgressInst);
@@ -59,6 +72,7 @@ static PyObject *PkgCdromIdent(PyObject *Self,PyObject *Args)
return HandleErrors(result);
}
+#endif
static PyMethodDef PkgCdromMethods[] =
@@ -67,7 +81,7 @@ static PyMethodDef PkgCdromMethods[] =
{"ident",PkgCdromIdent,METH_VARARGS,"ident(progress) -> Ident a cdrom"},
#ifdef COMPAT_0_7
{"Add",PkgCdromAdd,METH_VARARGS,"Add(progress) -> Add a cdrom"},
- {"Ident",PkgCdromIdent,METH_VARARGS,"Ident(progress) -> Ident a cdrom"},
+ {"Ident",PkgCdromIdent_old,METH_VARARGS,"Ident(progress) -> Ident a cdrom"},
#endif
{}
};