From 8a6abe3a6c9f975a3d1e2ad313ec96d136546e53 Mon Sep 17 00:00:00 2001 From: Marco Strigl Date: Tue, 8 Jan 2019 14:23:38 +0100 Subject: [PATCH] warn user if python-progressbar is not installed On ImportError have_pb_module is false and the class NoPBTextMeter gets returned which prints "Please install progressbar module..." on TextMeter.start() --- osc/meter.py | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/osc/meter.py b/osc/meter.py index 39190842..6bbb931e 100644 --- a/osc/meter.py +++ b/osc/meter.py @@ -3,10 +3,14 @@ # and distributed under the terms of the GNU General Public Licence, # either version 2, or (at your option) any later version. -import progressbar as pb +try: + import progressbar as pb + have_pb_module = True +except ImportError: + have_pb_module = False -class TextMeter(object): +class PBTextMeter(object): def start(self, basename, size=None): if size is None: @@ -24,4 +28,18 @@ class TextMeter(object): def end(self): self.bar.finish() +class NoPBTextMeter(object): + def start(self, *args, **kwargs): + print('Please install the progressbar module...') + + def update(self, *args, **kwargs): + pass + + def end(self, *args, **kwargs): + pass + +if have_pb_module: + TextMeter = PBTextMeter +else: + TextMeter = NoPBTextMeter # vim: sw=4 et