summaryrefslogtreecommitdiff
path: root/python/progress.cc
diff options
context:
space:
mode:
authorJulian Andres Klode <jak@debian.org>2009-07-19 14:39:41 +0200
committerJulian Andres Klode <jak@debian.org>2009-07-19 14:39:41 +0200
commit5c219e07aea347f652cf7949dc74f37282a17144 (patch)
tree3c67450e60e0f2d4150d4af4b3df7ee490c89421 /python/progress.cc
parent5bdcc585fd6080b0a021ef8f73024d440b4c2e0d (diff)
downloadpython-apt-5c219e07aea347f652cf7949dc74f37282a17144.tar.gz
python/cdromprogress.cc: Add apt_pkg.CdromProgress.
Diffstat (limited to 'python/progress.cc')
-rw-r--r--python/progress.cc12
1 files changed, 8 insertions, 4 deletions
diff --git a/python/progress.cc b/python/progress.cc
index 123a1805..b19ab0c7 100644
--- a/python/progress.cc
+++ b/python/progress.cc
@@ -518,10 +518,14 @@ pkgPackageManager::OrderResult PyInstallProgress::Run(pkgPackageManager *pm)
void PyCdromProgress::Update(string text, int current)
{
PyObject *arglist = Py_BuildValue("(si)", text.c_str(), current);
-
- PyObject *o = Py_BuildValue("i", totalSteps);
- PyObject_SetAttrString(callbackInst, "totalSteps", o);
- Py_XDECREF(o);
+ if (PyObject_TypeCheck(callbackInst, &PyCdromProgress_Type)) {
+ ((PyCdromProgressObject *)callbackInst)->total_steps = totalSteps;
+ }
+ else {
+ PyObject *o = Py_BuildValue("i", totalSteps);
+ PyObject_SetAttrString(callbackInst, "totalSteps", o);
+ Py_XDECREF(o);
+ }
RunSimpleCallback("update", arglist);
}