1
0
mirror of https://github.com/openSUSE/osc.git synced 2025-02-11 21:29:25 +01:00

Merge pull request #1621 from dmach/fix-progressbar

Implement meter.SimpleTextMeter that prints what's being downloaded
This commit is contained in:
Daniel Mach 2024-09-09 08:45:48 +02:00 committed by GitHub
commit cc574005f7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -60,7 +60,18 @@ class PBTextMeter(TextMeterBase):
self.bar.finish() self.bar.finish()
class NoPBTextMeter: class SimpleTextMeter(TextMeterBase):
def start(self, basename: str, size: Optional[int] = None):
print(basename, file=sys.stderr)
def update(self, amount_read: int):
pass
def end(self):
pass
class NoTextMeter(TextMeterBase):
def start(self, basename: str, size: Optional[int] = None): def start(self, basename: str, size: Optional[int] = None):
pass pass
@ -74,12 +85,15 @@ class NoPBTextMeter:
def create_text_meter(*args, **kwargs) -> TextMeterBase: def create_text_meter(*args, **kwargs) -> TextMeterBase:
from .conf import config from .conf import config
# this option is no longer used use_pb_fallback = kwargs.pop("use_pb_fallback", True)
kwargs.pop("use_pb_fallback", True)
meter_class = PBTextMeter meter_class: TextMeterBase
if not have_pb_module or config.quiet or not config.show_download_progress or not sys.stdout.isatty(): if config.quiet:
meter_class = NoPBTextMeter meter_class = NoTextMeter
elif not have_pb_module or not config.show_download_progress or not sys.stdout.isatty() or use_pb_fallback:
meter_class = SimpleTextMeter
else:
meter_class = PBTextMeter
return meter_class(*args, **kwargs) return meter_class(*args, **kwargs)