demo_generative_img / progress_bar.py
joelorellana's picture
initial files for demo of img generation models
70e3e61
""" progress bar"""
import time
import sys
def print_progress_bar(duration, msg='', bar_length=50):
"""
Prints a progress bar with a message to the terminal.
:param duration: The number of seconds the progress bar will run.
:param msg: The message to display before the progress bar.
:param bar_length: The character length of the bar (default is 50).
"""
for i in range(duration):
# Calculate the percentage completion.
percent = (i + 1) / duration
filled_length = int(bar_length * percent)
# Create the bar string.
progress = '█' * filled_length + '-' * (bar_length - filled_length)
# Print the progress bar with the message.
sys.stdout.write(f'\r{msg} |{progress}| {percent*100:.2f}% Complete')
sys.stdout.flush()
# Sleep for one second.
time.sleep(1)
# Print a newline at the end to ensure the next terminal output is on a new line.
print()
# You can add some testing code here to see how it works when you run this module directly.
if __name__ == '__main__':
# Test the progress bar function.
print_progress_bar(60, msg='Loading')