mirror of
https://github.com/openSUSE/osc.git
synced 2025-10-04 08:39:19 +02:00
move missing pb module logic to meter.py
This commit is contained in:
@@ -7266,15 +7266,7 @@ Please submit there instead, or use --nodevelproject to force direct submission.
|
||||
print('no binaries found: Either the package %s ' \
|
||||
'does not exist or no binaries have been built.' % pac, file=sys.stderr)
|
||||
continue
|
||||
progress_obj = None
|
||||
if not opts.quiet:
|
||||
try:
|
||||
from .meter import TextMeter
|
||||
progress_obj = TextMeter()
|
||||
except ImportError as e:
|
||||
print('progressbar not installed. Please install it. ' \
|
||||
'Will continue without progressbar')
|
||||
progress_obj = None
|
||||
|
||||
for i in binaries:
|
||||
if binary != None and binary != i.name:
|
||||
continue
|
||||
@@ -7298,7 +7290,7 @@ Please submit there instead, or use --nodevelproject to force direct submission.
|
||||
package = pac,
|
||||
target_filename = fname,
|
||||
target_mtime = i.mtime,
|
||||
progress_meter = progress_obj)
|
||||
progress_meter = opts.quiet)
|
||||
|
||||
|
||||
@cmdln.option('-b', '--bugowner', action='store_true',
|
||||
|
@@ -4655,13 +4655,17 @@ def get_binary_file(apiurl, prj, repo, arch,
|
||||
package = None,
|
||||
target_filename = None,
|
||||
target_mtime = None,
|
||||
progress_meter = None):
|
||||
progress_meter = False):
|
||||
progress_obj = None
|
||||
if progress_meter:
|
||||
from .meter import TextMeter
|
||||
progress_obj = TextMeter()
|
||||
|
||||
target_filename = target_filename or filename
|
||||
|
||||
where = package or '_repository'
|
||||
u = makeurl(apiurl, ['build', prj, repo, arch, where, filename])
|
||||
download(u, target_filename, progress_meter, target_mtime)
|
||||
download(u, target_filename, progress_obj, target_mtime)
|
||||
if target_filename.endswith('.AppImage'):
|
||||
os.chmod(target_filename, 0o755)
|
||||
|
||||
|
22
osc/meter.py
22
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
|
||||
|
Reference in New Issue
Block a user