]> git.ipfire.org Git - pakfire.git/commitdiff
progressbar: Make increment function take a value
authorMichael Tremer <michael.tremer@ipfire.org>
Wed, 21 Apr 2021 11:21:25 +0000 (11:21 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 21 Apr 2021 11:21:25 +0000 (11:21 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/_pakfire/progressbar.c
src/libpakfire/include/pakfire/progressbar.h
src/libpakfire/progressbar.c
src/libpakfire/repo.c
tests/libpakfire/progressbar.c

index 8354df3645d1eeb84b65c68500f36fd726412249..70f90d067fd00a87ba676612ebb9ca8c476c2d8a 100644 (file)
@@ -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,
        },
        {
index 96c656b659fa50ac38ee0bbdfd63bf3cf0d11ac2..929085ac20fdaac1d57f530b1373a0668ebf0a83 100644 (file)
@@ -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);
 
index f48b4bb45c16cb5962aaafb8d653eec528021077..6e55e6989d62f7635bec464d928adea66ac63405 100644 (file)
@@ -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) {
index fe8848397b3a77779ebeb167bde633174de48bb6..f6397a5c0209518ba97fd7decd6b647e2e94b62c 100644 (file)
@@ -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);
index b0b35a1cb822bd4526e2905db0b99bf1adba43ad..03ba54ba285f61a789165496b71474f9c8b9ab34 100644 (file)
@@ -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);
        }