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.
fallback_source = "deezer"
[theme]
# Options: "dainty" or "plain"
progress_bar = "dainty"
[misc]
# Check whether a newer version of streamrip is available when starting up
check_for_updates = true

View file

@ -108,6 +108,9 @@ class RipCore(list):
else:
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:
db_settings = self.config.session["database"]
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)
TQDM_BAR_FORMAT = (
"{desc} |{bar}| ("
+ click.style("{elapsed}", fg="magenta")
+ " at "
TQDM_THEMES = {
"plain": None,
"dainty": (
"{desc} |{bar}| "
+ click.style("{remaining}", fg="magenta")
+ " left at "
+ 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: