Skip to content

Commit

Permalink
✨ add verbosity, no color
Browse files Browse the repository at this point in the history
  • Loading branch information
oskvr37 committed Jul 30, 2024
1 parent 2fc1f14 commit 4dfd15e
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 16 deletions.
50 changes: 34 additions & 16 deletions tiddl/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,25 +8,43 @@
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")
)
def main():
args = parser.parse_args()

logging.basicConfig(handlers=[file_handler, stream_handler], level=logging.DEBUG)
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],
)

def main():
args = parser.parse_args()
config = Config()

download_path = args.download_path or config["settings"]["download_path"]
Expand Down Expand Up @@ -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(
Expand Down
26 changes: 26 additions & 0 deletions tiddl/parser.py
Original file line number Diff line number Diff line change
@@ -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.",
Expand Down Expand Up @@ -52,3 +59,22 @@
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(),
)

0 comments on commit 4dfd15e

Please sign in to comment.