From b29cecc0e0d0b40ed2ae31caeeebd5e080bd2f29 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Wed, 21 Apr 2021 11:21:25 +0000 Subject: [PATCH] progressbar: Make increment function take a value Signed-off-by: Michael Tremer --- src/_pakfire/progressbar.c | 11 ++++++++--- src/libpakfire/include/pakfire/progressbar.h | 2 +- src/libpakfire/progressbar.c | 4 ++-- src/libpakfire/repo.c | 2 +- tests/libpakfire/progressbar.c | 2 +- 5 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/_pakfire/progressbar.c b/src/_pakfire/progressbar.c index 8354df364..70f90d067 100644 --- a/src/_pakfire/progressbar.c +++ b/src/_pakfire/progressbar.c @@ -78,8 +78,13 @@ static PyObject* Progressbar_update(ProgressbarObject* self, PyObject* args) { Py_RETURN_NONE; } -static PyObject* Progressbar_increment(ProgressbarObject* self) { - int r = pakfire_progressbar_increment(self->progressbar); +static PyObject* Progressbar_increment(ProgressbarObject* self, PyObject* args) { + unsigned long value = 1; + + if (!PyArg_ParseTuple(args, "|k", &value)) + return NULL; + + int r = pakfire_progressbar_increment(self->progressbar, value); if (r) { PyErr_SetFromErrno(PyExc_OSError); return NULL; @@ -241,7 +246,7 @@ static struct PyMethodDef Progressbar_methods[] = { { "increment", (PyCFunction)Progressbar_increment, - METH_NOARGS, + METH_VARARGS, NULL, }, { diff --git a/src/libpakfire/include/pakfire/progressbar.h b/src/libpakfire/include/pakfire/progressbar.h index 96c656b65..929085ac2 100644 --- a/src/libpakfire/include/pakfire/progressbar.h +++ b/src/libpakfire/include/pakfire/progressbar.h @@ -32,7 +32,7 @@ struct pakfire_progressbar* pakfire_progressbar_unref(struct pakfire_progressbar int pakfire_progressbar_start(struct pakfire_progressbar* p, unsigned long value); int pakfire_progressbar_update(struct pakfire_progressbar* p, unsigned long value); -int pakfire_progressbar_increment(struct pakfire_progressbar* p); +int pakfire_progressbar_increment(struct pakfire_progressbar* p, unsigned long value); int pakfire_progressbar_finish(struct pakfire_progressbar* p); int pakfire_progressbar_reset(struct pakfire_progressbar* p); diff --git a/src/libpakfire/progressbar.c b/src/libpakfire/progressbar.c index f48b4bb45..6e55e6989 100644 --- a/src/libpakfire/progressbar.c +++ b/src/libpakfire/progressbar.c @@ -212,8 +212,8 @@ PAKFIRE_EXPORT int pakfire_progressbar_update(struct pakfire_progressbar* p, uns return pakfire_progressbar_redraw(p); } -PAKFIRE_EXPORT int pakfire_progressbar_increment(struct pakfire_progressbar* p) { - return pakfire_progressbar_update(p, p->value + 1); +PAKFIRE_EXPORT int pakfire_progressbar_increment(struct pakfire_progressbar* p, unsigned long value) { + return pakfire_progressbar_update(p, p->value + value); } PAKFIRE_EXPORT int pakfire_progressbar_finish(struct pakfire_progressbar* p) { diff --git a/src/libpakfire/repo.c b/src/libpakfire/repo.c index fe8848397..f6397a5c0 100644 --- a/src/libpakfire/repo.c +++ b/src/libpakfire/repo.c @@ -883,7 +883,7 @@ PAKFIRE_EXPORT int pakfire_repo_scan(PakfireRepo repo, int flags) { PakfireFile file = pakfire_filelist_get(filelist, i); // Increment progress bar - pakfire_progressbar_increment(progressbar); + pakfire_progressbar_increment(progressbar, 1); // Skip anything that isn't a regular file int type = pakfire_file_get_type(file); diff --git a/tests/libpakfire/progressbar.c b/tests/libpakfire/progressbar.c index b0b35a1cb..03ba54ba2 100644 --- a/tests/libpakfire/progressbar.c +++ b/tests/libpakfire/progressbar.c @@ -51,7 +51,7 @@ static int test_run(const struct test* t) { ASSERT_SUCCESS(pakfire_progressbar_start(p, 1000)); for (unsigned int i = 0; i < 1000; i++) { - ASSERT_SUCCESS(pakfire_progressbar_increment(p)); + ASSERT_SUCCESS(pakfire_progressbar_increment(p, 1)); usleep(2500); } -- 2.47.3