Linux jobworks 6.8.0-136-generic #136-Ubuntu SMP PREEMPT_DYNAMIC Wed Jul 1 21:53:05 UTC 2026 x86_64
Apache/2.4.58 (Ubuntu)
Server IP : 10.0.1.5 & Your IP : 216.73.217.52
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
share /
doc /
python3-rich /
examples /
Delete
Unzip
Name
Size
Permission
Date
Action
README.md
264
B
-rw-r--r--
2025-08-05 17:14
attrs.py
1.01
KB
-rw-r--r--
2025-08-05 17:14
bars.py
417
B
-rw-r--r--
2025-08-05 17:14
columns.py
748
B
-rw-r--r--
2025-08-05 17:14
cp_progress.py
571
B
-rw-r--r--
2025-08-05 17:14
downloader.py
2.21
KB
-rw-r--r--
2025-08-05 17:14
dynamic_progress.py
3.93
KB
-rw-r--r--
2025-08-05 17:14
exception.py
919
B
-rw-r--r--
2025-08-05 17:14
export.py
1.65
KB
-rw-r--r--
2025-08-05 17:14
file_progress.py
423
B
-rw-r--r--
2025-08-05 17:14
fullscreen.py
5.36
KB
-rw-r--r--
2025-08-05 17:14
group.py
206
B
-rw-r--r--
2025-08-05 17:14
group2.py
224
B
-rw-r--r--
2025-08-05 17:14
highlighter.py
525
B
-rw-r--r--
2025-08-05 17:14
jobs.py
957
B
-rw-r--r--
2025-08-05 17:14
justify.py
349
B
-rw-r--r--
2025-08-05 17:14
justify2.py
426
B
-rw-r--r--
2025-08-05 17:14
layout.py
1.09
KB
-rw-r--r--
2025-08-05 17:14
link.py
192
B
-rw-r--r--
2025-08-05 17:14
listdir.py
1011
B
-rw-r--r--
2025-08-05 17:14
live_progress.py
1.34
KB
-rw-r--r--
2025-08-05 17:14
log.py
1.9
KB
-rw-r--r--
2025-08-05 17:14
overflow.py
370
B
-rw-r--r--
2025-08-05 17:14
padding.py
132
B
-rw-r--r--
2025-08-05 17:14
print_calendar.py
1.87
KB
-rw-r--r--
2025-08-05 17:14
rainbow.py
441
B
-rw-r--r--
2025-08-05 17:14
recursive_error.py
324
B
-rw-r--r--
2025-08-05 17:14
repr.py
589
B
-rw-r--r--
2025-08-05 17:14
save_table_svg.py
846
B
-rw-r--r--
2025-08-05 17:14
screen.py
357
B
-rw-r--r--
2025-08-05 17:14
spinners.py
533
B
-rw-r--r--
2025-08-05 17:14
status.py
307
B
-rw-r--r--
2025-08-05 17:14
suppress.py
489
B
-rw-r--r--
2025-08-05 17:14
table.py
693
B
-rw-r--r--
2025-08-05 17:14
table_movie.py
4.46
KB
-rw-r--r--
2025-08-05 17:14
top_lite_simulator.py
2.11
KB
-rw-r--r--
2025-08-05 17:14
tree.py
1.71
KB
-rw-r--r--
2025-08-05 17:14
Save
Rename
""" A rudimentary URL downloader (like wget or curl) to demonstrate Rich progress bars. """ import os.path import sys from concurrent.futures import ThreadPoolExecutor import signal from functools import partial from threading import Event from typing import Iterable from urllib.request import urlopen from rich.progress import ( BarColumn, DownloadColumn, Progress, TaskID, TextColumn, TimeRemainingColumn, TransferSpeedColumn, ) progress = Progress( TextColumn("[bold blue]{task.fields[filename]}", justify="right"), BarColumn(bar_width=None), "[progress.percentage]{task.percentage:>3.1f}%", "•", DownloadColumn(), "•", TransferSpeedColumn(), "•", TimeRemainingColumn(), ) done_event = Event() def handle_sigint(signum, frame): done_event.set() signal.signal(signal.SIGINT, handle_sigint) def copy_url(task_id: TaskID, url: str, path: str) -> None: """Copy data from a url to a local file.""" progress.console.log(f"Requesting {url}") response = urlopen(url) # This will break if the response doesn't contain content length progress.update(task_id, total=int(response.info()["Content-length"])) with open(path, "wb") as dest_file: progress.start_task(task_id) for data in iter(partial(response.read, 32768), b""): dest_file.write(data) progress.update(task_id, advance=len(data)) if done_event.is_set(): return progress.console.log(f"Downloaded {path}") def download(urls: Iterable[str], dest_dir: str): """Download multiple files to the given directory.""" with progress: with ThreadPoolExecutor(max_workers=4) as pool: for url in urls: filename = url.split("/")[-1] dest_path = os.path.join(dest_dir, filename) task_id = progress.add_task("download", filename=filename, start=False) pool.submit(copy_url, task_id, url, dest_path) if __name__ == "__main__": # Try with https://releases.ubuntu.com/20.04/ubuntu-20.04.3-desktop-amd64.iso if sys.argv[1:]: download(sys.argv[1:], "./") else: print("Usage:\n\tpython downloader.py URL1 URL2 URL3 (etc)")