mirror of
https://github.com/oskvr37/tiddl.git
synced 2026-06-13 12:15:13 +03:00
✨ add verbosity, no color
This commit is contained in:
+35
-17
@@ -8,25 +8,43 @@ from .download import downloadTrack
|
||||
from .parser import QUALITY_ARGS, parser
|
||||
from .types import TRACK_QUALITY, TrackQuality
|
||||
|
||||
stream_handler = logging.StreamHandler()
|
||||
stream_handler.setLevel(logging.INFO)
|
||||
# TODO: add option to suppress color output ✨
|
||||
colored_stream_format = (
|
||||
"\033[1;34m%(levelname)s\033[0m \033[1;95m%(module)s\033[0m %(message)s"
|
||||
)
|
||||
stream_handler.setFormatter(logging.Formatter(colored_stream_format))
|
||||
|
||||
file_handler = logging.FileHandler("tiddl.log", "w", "utf-8")
|
||||
file_handler.setLevel(logging.DEBUG)
|
||||
file_handler.setFormatter(
|
||||
logging.Formatter("%(levelname)s\t%(name)s.%(module)s.%(funcName)s :: %(message)s")
|
||||
)
|
||||
|
||||
logging.basicConfig(handlers=[file_handler, stream_handler], level=logging.DEBUG)
|
||||
|
||||
|
||||
def main():
|
||||
args = parser.parse_args()
|
||||
|
||||
if args.silent:
|
||||
log_level = logging.ERROR
|
||||
elif args.verbose:
|
||||
log_level = logging.DEBUG
|
||||
else:
|
||||
log_level = logging.INFO
|
||||
|
||||
stream_handler = logging.StreamHandler()
|
||||
stream_handler.setLevel(log_level)
|
||||
stream_handler.setFormatter(
|
||||
logging.Formatter(
|
||||
"\033[1;34m%(levelname)s\033[0m \033[1;95m%(module)s\033[0m %(message)s"
|
||||
)
|
||||
)
|
||||
|
||||
if args.no_color:
|
||||
stream_handler.setFormatter(
|
||||
logging.Formatter("[ %(levelname)s %(module)s ] %(message)s")
|
||||
)
|
||||
|
||||
file_handler = logging.FileHandler("tiddl.log", "w", "utf-8")
|
||||
file_handler.setLevel(logging.DEBUG)
|
||||
file_handler.setFormatter(
|
||||
logging.Formatter(
|
||||
"%(levelname)s\t%(name)s.%(module)s.%(funcName)s :: %(message)s"
|
||||
)
|
||||
)
|
||||
|
||||
logging.basicConfig(
|
||||
level=logging.DEBUG,
|
||||
handlers=[file_handler, stream_handler],
|
||||
)
|
||||
|
||||
config = Config()
|
||||
|
||||
download_path = args.download_path or config["settings"]["download_path"]
|
||||
@@ -98,7 +116,7 @@ def main():
|
||||
track_id: str = args.input
|
||||
|
||||
if not track_id:
|
||||
logging.info("no ID nor URL provided...")
|
||||
logging.warning("no ID nor URL provided")
|
||||
return
|
||||
|
||||
api = TidalApi(
|
||||
|
||||
@@ -1,8 +1,15 @@
|
||||
import os
|
||||
import argparse
|
||||
|
||||
from .types import TRACK_QUALITY, TrackQuality
|
||||
|
||||
|
||||
def shouldNotColor() -> bool:
|
||||
# TODO: add more checks ✨
|
||||
checks = ["NO_COLOR" in os.environ]
|
||||
return any(checks)
|
||||
|
||||
|
||||
parser = argparse.ArgumentParser(
|
||||
description="\033[4mTIDDL\033[0m - Tidal Downloader",
|
||||
epilog="options defaults will be fetched from your config file.",
|
||||
@@ -52,3 +59,22 @@ parser.add_argument(
|
||||
dest="save_options",
|
||||
action="store_true",
|
||||
)
|
||||
|
||||
parser.add_argument(
|
||||
"--silent",
|
||||
help="silent mode",
|
||||
action="store_true",
|
||||
)
|
||||
|
||||
parser.add_argument(
|
||||
"--verbose",
|
||||
help="show debug logs",
|
||||
action="store_true",
|
||||
)
|
||||
|
||||
parser.add_argument(
|
||||
"--no-color",
|
||||
help="suppress output colors",
|
||||
action="store_true",
|
||||
default=shouldNotColor(),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user