-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrainbow.py
35 lines (27 loc) · 922 Bytes
/
rainbow.py
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
"""
A simple progress bar, visualised with rainbow colors (for fun).
EASTER-EGG :)
"""
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('True colors? (24 bit)')
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()