%PDF- %PDF-
Direktori : /proc/self/root/proc/self/root/lib/python2.7/site-packages/salt/output/ |
Current File : //proc/self/root/proc/self/root/lib/python2.7/site-packages/salt/output/progress.py |
# -*- coding: utf-8 -*- ''' Display return data as a progress bar ''' # Import Python libs from __future__ import absolute_import, print_function, unicode_literals # Import 3rd-party libs try: import progressbar HAS_PROGRESSBAR = True except ImportError: HAS_PROGRESSBAR = False def __virtual__(): return True if HAS_PROGRESSBAR else False def output(ret, bar, **kwargs): # pylint: disable=unused-argument ''' Update the progress bar ''' if 'return_count' in ret: val = ret['return_count'] # Avoid to fail if targets are behind a syndic. In this case actual return count will be # higher than targeted by MoM itself. # TODO: implement a way to get the proper target minions count and remove this workaround. # Details are in #44239. if val > bar.maxval: bar.maxval = val bar.update(val) return '' def progress_iter(progress): ''' Initialize and return a progress bar iter ''' widgets = [progressbar.Percentage(), ' ', progressbar.Bar(), ' ', progressbar.Timer(), ' Returns: [', progressbar.Counter(), '/{0}]'.format(progress['minion_count'])] bar = progressbar.ProgressBar(widgets=widgets, maxval=progress['minion_count']) bar.start() return bar