1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
# Copyright 2017 - 2020 Avram Lubkin, All Rights Reserved
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
"""
Progress bar example with context managers
"""
import random
import time
import enlighten
SPLINES = 15
LLAMAS = 20
def process_files():
"""
Use Manager and Counter as context managers
"""
with enlighten.Manager() as manager:
with manager.counter(total=SPLINES, desc='Reticulating:', unit='splines') as retic:
for _ in range(SPLINES):
time.sleep(random.uniform(0.1, 0.5)) # Random processing time
retic.update()
with manager.counter(total=LLAMAS, desc='Herding:', unit='llamas') as herd:
for _ in range(SPLINES):
time.sleep(random.uniform(0.1, 0.5)) # Random processing time
herd.update()
if __name__ == '__main__':
process_files()
|