Skip to content

Commit cc57400

Browse files
authored
Merge pull request openSUSE#1621 from dmach/fix-progressbar
Implement meter.SimpleTextMeter that prints what's being downloaded
2 parents 814c1c2 + 437cfbe commit cc57400

File tree

1 file changed

+20
-6
lines changed

1 file changed

+20
-6
lines changed

osc/meter.py

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,18 @@ def end(self):
6060
self.bar.finish()
6161

6262

63-
class NoPBTextMeter:
63+
class SimpleTextMeter(TextMeterBase):
64+
def start(self, basename: str, size: Optional[int] = None):
65+
print(basename, file=sys.stderr)
66+
67+
def update(self, amount_read: int):
68+
pass
69+
70+
def end(self):
71+
pass
72+
73+
74+
class NoTextMeter(TextMeterBase):
6475
def start(self, basename: str, size: Optional[int] = None):
6576
pass
6677

@@ -74,12 +85,15 @@ def end(self):
7485
def create_text_meter(*args, **kwargs) -> TextMeterBase:
7586
from .conf import config
7687

77-
# this option is no longer used
78-
kwargs.pop("use_pb_fallback", True)
88+
use_pb_fallback = kwargs.pop("use_pb_fallback", True)
7989

80-
meter_class = PBTextMeter
81-
if not have_pb_module or config.quiet or not config.show_download_progress or not sys.stdout.isatty():
82-
meter_class = NoPBTextMeter
90+
meter_class: TextMeterBase
91+
if config.quiet:
92+
meter_class = NoTextMeter
93+
elif not have_pb_module or not config.show_download_progress or not sys.stdout.isatty() or use_pb_fallback:
94+
meter_class = SimpleTextMeter
95+
else:
96+
meter_class = PBTextMeter
8397

8498
return meter_class(*args, **kwargs)
8599

0 commit comments

Comments
 (0)