]> git.ipfire.org Git - pakfire.git/commitdiff
python: hub: Use an external progressbar module
authorMichael Tremer <michael.tremer@ipfire.org>
Sun, 1 Oct 2023 10:56:29 +0000 (10:56 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Sun, 1 Oct 2023 10:57:05 +0000 (10:57 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
configure.ac
src/pakfire/hub.py

index 7b2fb9cc875fc26aa1a8e6b9818b206b48185e3a..deba56cedcbe9d9b2929d2eb9b5affdb020cded8 100644 (file)
@@ -245,6 +245,7 @@ AM_PATH_PYTHON([3.6])
 
 AX_PYTHON_MODULE([cpuinfo], [fatal])
 AX_PYTHON_MODULE([kerberos], [fatal])
+AX_PYTHON_MODULE([progressbar2], [fatal])
 AX_PYTHON_MODULE([psutil], [fatal])
 AX_PYTHON_MODULE([setproctitle], [fatal])
 AX_PYTHON_MODULE([systemd], [fatal])
index 6df4c9ac6ad317e2179e3d2f96780e9e585130d8..92c5979cb88ae8d03dfc73f0e56499a0c9d6e8f7 100644 (file)
@@ -27,6 +27,7 @@ import json
 import kerberos
 import logging
 import os.path
+import progressbar2 as progressbar
 import psutil
 import subprocess
 import tempfile
@@ -327,14 +328,17 @@ class Hub(object):
 
                # Make progressbar
                if show_progress:
-                       p = _pakfire.Progressbar()
-                       p.add_string(_("Uploading %s") % filename)
-                       p.add_percentage()
-                       p.add_bar()
-                       p.add_transfer_speed()
-                       p.add_string("|")
-                       p.add_bytes_transferred()
-                       p.add_eta()
+                       p = progressbar.ProgressBar(
+                               max_value=size,
+                               widgets=[
+                                       progressbar.FormatCustomText(_("Uploading %s") % filename),
+                                       progressbar.Percentage(),
+                                       progressbar.Bar(),
+                                       progressbar.FileTransferSpeed(),
+                                       progressbar.DataSize(),
+                                       progressbar.AdaptiveETA(),
+                               ],
+                       )
                else:
                        p = None
 
@@ -395,10 +399,6 @@ class Hub(object):
 
        @staticmethod
        def _stream_file(path, size, p, write):
-               # Start the progressbar
-               if p:
-                       p.start(size)
-
                try:
                        with open(path, "rb") as f:
                                while True: