diff options
| author | Julian Andres Klode <jak@debian.org> | 2009-07-19 15:48:14 +0200 |
|---|---|---|
| committer | Julian Andres Klode <jak@debian.org> | 2009-07-19 15:48:14 +0200 |
| commit | aaa8c4f98eb92bba9418e15560617b78be90b5d6 (patch) | |
| tree | 995edc3f900294cd7d22f5e49bd89965c94219cb /python/cdrom.cc | |
| parent | 7debfcbb984fe059ff08b7edba40f14bff2c28a6 (diff) | |
| download | python-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.cc | 34 |
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 {} }; |
