Add progress bar themes

This commit is contained in:
nathom 2021-07-28 21:39:33 -07:00
parent 9f79a47bb4
commit 96b15d9917
3 changed files with 25 additions and 7 deletions

View file

@ -136,6 +136,10 @@ source = "qobuz"
# on this one. # on this one.
fallback_source = "deezer" fallback_source = "deezer"
[theme]
# Options: "dainty" or "plain"
progress_bar = "dainty"
[misc] [misc]
# Check whether a newer version of streamrip is available when starting up # Check whether a newer version of streamrip is available when starting up
check_for_updates = true check_for_updates = true

View file

@ -108,6 +108,9 @@ class RipCore(list):
else: else:
self.config = config self.config = config
if (theme := self.config.file["theme"]["progress_bar"]) != TQDM_DEFAULT_THEME:
set_progress_bar_theme(theme.lower())
def get_db(db_type: str) -> db.Database: def get_db(db_type: str) -> db.Database:
db_settings = self.config.session["database"] db_settings = self.config.session["database"]
db_class = db.CLASS_MAP[db_type] db_class = db.CLASS_MAP[db_type]

View file

@ -500,13 +500,24 @@ def downsize_image(filepath: str, width: int, height: int):
resized_image.save(filepath) resized_image.save(filepath)
TQDM_BAR_FORMAT = ( TQDM_THEMES = {
"{desc} |{bar}| (" "plain": None,
+ click.style("{elapsed}", fg="magenta") "dainty": (
+ " at " "{desc} |{bar}| "
+ click.style("{remaining}", fg="magenta")
+ " left at "
+ click.style("{rate_fmt}{postfix} ", fg="cyan", bold=True) + click.style("{rate_fmt}{postfix} ", fg="cyan", bold=True)
+ ")" ),
) }
TQDM_DEFAULT_THEME = "dainty"
TQDM_BAR_FORMAT = TQDM_THEMES["dainty"]
def set_progress_bar_theme(theme: str):
global TQDM_BAR_FORMAT
TQDM_BAR_FORMAT = TQDM_THEMES[theme]
def tqdm_stream(iterator: DownloadStream, desc: Optional[str] = None) -> Generator: def tqdm_stream(iterator: DownloadStream, desc: Optional[str] = None) -> Generator: