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
|
#!/usr/bin/env python
"""
A simple progress bar, visualized with rainbow colors (for fun).
"""
import time
from prompt_toolkit.output import ColorDepth
from prompt_toolkit.shortcuts import ProgressBar
from prompt_toolkit.shortcuts.progress_bar import formatters
from prompt_toolkit.shortcuts.prompt import confirm
def main():
true_color = confirm("Yes true colors? (y/n) ")
custom_formatters = [
formatters.Label(),
formatters.Text(" "),
formatters.Rainbow(formatters.Bar()),
formatters.Text(" left: "),
formatters.Rainbow(formatters.TimeLeft()),
]
if true_color:
color_depth = ColorDepth.DEPTH_24_BIT
else:
color_depth = ColorDepth.DEPTH_8_BIT
with ProgressBar(formatters=custom_formatters, color_depth=color_depth) as pb:
for i in pb(range(20), label="Downloading..."):
time.sleep(1)
if __name__ == "__main__":
main()
|