/
usr
/
share
/
doc
/
python3-rich
/
examples
/
/usr/share/doc/python3-rich/examples
mkdir
upload
Name
Size
Mode
Actions
attrs.py
1034
0644
edit
dl
rm
bars.py
417
0644
edit
dl
rm
columns.py
748
0644
edit
dl
rm
cp_progress.py
571
0644
edit
dl
rm
downloader.py
2260
0644
edit
dl
rm
dynamic_progress.py
4021
0644
edit
dl
rm
exception.py
919
0644
edit
dl
rm
export.py
1693
0644
edit
dl
rm
file_progress.py
423
0644
edit
dl
rm
fullscreen.py
5492
0644
edit
dl
rm
group.py
206
0644
edit
dl
rm
group2.py
224
0644
edit
dl
rm
highlighter.py
525
0644
edit
dl
rm
jobs.py
957
0644
edit
dl
rm
justify.py
349
0644
edit
dl
rm
justify2.py
426
0644
edit
dl
rm
layout.py
1115
0644
edit
dl
rm
link.py
192
0644
edit
dl
rm
listdir.py
1011
0644
edit
dl
rm
live_progress.py
1369
0644
edit
dl
rm
log.py
1943
0644
edit
dl
rm
overflow.py
370
0644
edit
dl
rm
padding.py
132
0644
edit
dl
rm
print_calendar.py
1915
0644
edit
dl
rm
rainbow.py
441
0644
edit
dl
rm
README.md
264
0644
edit
dl
rm
recursive_error.py
324
0644
edit
dl
rm
repr.py
589
0644
edit
dl
rm
save_table_svg.py
846
0644
edit
dl
rm
screen.py
357
0644
edit
dl
rm
spinners.py
533
0644
edit
dl
rm
status.py
307
0644
edit
dl
rm
suppress.py
489
0644
edit
dl
rm
table.py
693
0644
edit
dl
rm
table_movie.py
4572
0644
edit
dl
rm
top_lite_simulator.py
2158
0644
edit
dl
rm
tree.py
1755
0644
edit
dl
rm
Edit:
/usr/share/doc/python3-rich/examples/table_movie.py
(4572B)
"""Same as the table_movie.py but uses Live to update""" import time from contextlib import contextmanager from rich import box from rich.align import Align from rich.console import Console from rich.live import Live from rich.table import Table from rich.text import Text TABLE_DATA = [ [ "May 25, 1977", "Star Wars Ep. [b]IV[/]: [i]A New Hope", "$11,000,000", "$1,554,475", "$775,398,007", ], [ "May 21, 1980", "Star Wars Ep. [b]V[/]: [i]The Empire Strikes Back", "$23,000,000", "$4,910,483", "$547,969,004", ], [ "May 25, 1983", "Star Wars Ep. [b]VI[/b]: [i]Return of the Jedi", "$32,500,000", "$23,019,618", "$475,106,177", ], [ "May 19, 1999", "Star Wars Ep. [b]I[/b]: [i]The phantom Menace", "$115,000,000", "$64,810,870", "$1,027,044,677", ], [ "May 16, 2002", "Star Wars Ep. [b]II[/b]: [i]Attack of the Clones", "$115,000,000", "$80,027,814", "$656,695,615", ], [ "May 19, 2005", "Star Wars Ep. [b]III[/b]: [i]Revenge of the Sith", "$115,500,000", "$380,270,577", "$848,998,877", ], ] console = Console() BEAT_TIME = 0.04 @contextmanager def beat(length: int = 1) -> None: yield time.sleep(length * BEAT_TIME) table = Table(show_footer=False) table_centered = Align.center(table) console.clear() with Live(table_centered, console=console, screen=False, refresh_per_second=20): with beat(10): table.add_column("Release Date", no_wrap=True) with beat(10): table.add_column("Title", Text.from_markup("[b]Total", justify="right")) with beat(10): table.add_column("Budget", "[u]$412,000,000", no_wrap=True) with beat(10): table.add_column("Opening Weekend", "[u]$577,703,455", no_wrap=True) with beat(10): table.add_column("Box Office", "[u]$4,331,212,357", no_wrap=True) with beat(10): table.title = "Star Wars Box Office" with beat(10): table.title = ( "[not italic]:popcorn:[/] Star Wars Box Office [not italic]:popcorn:[/]" ) with beat(10): table.caption = "Made with Rich" with beat(10): table.caption = "Made with [b]Rich[/b]" with beat(10): table.caption = "Made with [b magenta not dim]Rich[/]" for row in TABLE_DATA: with beat(10): table.add_row(*row) with beat(10): table.show_footer = True table_width = console.measure(table).maximum with beat(10): table.columns[2].justify = "right" with beat(10): table.columns[3].justify = "right" with beat(10): table.columns[4].justify = "right" with beat(10): table.columns[2].header_style = "bold red" with beat(10): table.columns[3].header_style = "bold green" with beat(10): table.columns[4].header_style = "bold blue" with beat(10): table.columns[2].style = "red" with beat(10): table.columns[3].style = "green" with beat(10): table.columns[4].style = "blue" with beat(10): table.columns[0].style = "cyan" table.columns[0].header_style = "bold cyan" with beat(10): table.columns[1].style = "magenta" table.columns[1].header_style = "bold magenta" with beat(10): table.columns[2].footer_style = "bright_red" with beat(10): table.columns[3].footer_style = "bright_green" with beat(10): table.columns[4].footer_style = "bright_blue" with beat(10): table.row_styles = ["none", "dim"] with beat(10): table.border_style = "bright_yellow" for box_style in [ box.SQUARE, box.MINIMAL, box.SIMPLE, box.SIMPLE_HEAD, ]: with beat(10): table.box = box_style with beat(10): table.pad_edge = False original_width = console.measure(table).maximum for width in range(original_width, console.width, 2): with beat(1): table.width = width for width in range(console.width, original_width, -2): with beat(1): table.width = width for width in range(original_width, 90, -2): with beat(1): table.width = width for width in range(90, original_width + 1, 2): with beat(1): table.width = width with beat(2): table.width = None
Save
cmd:
run