From caf18858786997c0a54f95782484efae68ae9bac Mon Sep 17 00:00:00 2001 From: Ivan Schaller Date: Thu, 7 Jul 2022 21:03:43 +0200 Subject: [PATCH] fix some things related to the new logging implementation --- mangadlp/__init__.py | 8 ++++++-- mangadlp/app.py | 11 +++-------- mangadlp/input.py | 12 ++++++------ tests/test_02_utils.py | 2 +- tests/test_21_full.py | 2 +- 5 files changed, 17 insertions(+), 18 deletions(-) diff --git a/mangadlp/__init__.py b/mangadlp/__init__.py index 27951a2..1c6335f 100644 --- a/mangadlp/__init__.py +++ b/mangadlp/__init__.py @@ -1,28 +1,32 @@ import logging -# prepare logger +# prepare logger with default level INFO==20 logging.basicConfig( format="%(asctime)s | %(levelname)s: %(message)s", datefmt="%Y-%m-%d %H:%M:%S", - level=logging.INFO, + level=20, handlers=[logging.StreamHandler()], ) +# create verbose logger with level 15 def logger_verbose(msg, *args, **kwargs): if logging.getLogger().isEnabledFor(15): logging.log(15, msg) +# create lean logger with level 25 def logger_lean(msg, *args, **kwargs): if logging.getLogger().isEnabledFor(25): logging.log(25, msg) logging.addLevelName(15, "VERBOSE") +logging.VERBOSE = 15 # type: ignore logging.verbose = logger_verbose # type: ignore logging.Logger.verbose = logger_verbose # type: ignore logging.addLevelName(25, "LEAN") +logging.VERBOSE = 25 # type: ignore logging.lean = logger_lean # type: ignore logging.Logger.lean = logger_lean # type: ignore diff --git a/mangadlp/app.py b/mangadlp/app.py index efaddee..295bc5e 100644 --- a/mangadlp/app.py +++ b/mangadlp/app.py @@ -24,7 +24,7 @@ class MangaDLP: :param forcevol: Force naming of volumes. Useful for mangas where chapters reset each volume :param download_path: Download path. Defaults to '/downloads' :param download_wait: Time to wait for each picture to download in seconds - :param verbosity: Verbosity of the output + :param verbosity: Verbosity of the output. Uses the logging library values :return: Nothing. Just the files """ @@ -39,7 +39,7 @@ class MangaDLP: forcevol: bool = False, download_path: str = "downloads", download_wait: float = 0.5, - verbosity: str = "normal", + verbosity: int = 20, ) -> None: # init parameters self.url_uuid = url_uuid @@ -56,12 +56,7 @@ class MangaDLP: def _prepare(self) -> None: # prepare logger - if self.verbosity == "lean": - logging.getLogger().setLevel(25) - elif self.verbosity == "verbose": - logging.getLogger().setLevel(15) - elif self.verbosity == "debug": - logging.getLogger().setLevel(10) + logging.getLogger().setLevel(self.verbosity) # set manga format suffix if self.file_format and "." not in self.file_format: self.file_format = f".{self.file_format}" diff --git a/mangadlp/input.py b/mangadlp/input.py index 9a93fc5..818112d 100644 --- a/mangadlp/input.py +++ b/mangadlp/input.py @@ -183,8 +183,8 @@ def get_args(): required=False, help="Lean logging. Minimal log output. Defaults to false", action="store_const", - const="lean", - default="normal", + const=25, + default=20, ) verbosity.add_argument( "--verbose", @@ -192,8 +192,8 @@ def get_args(): required=False, help="Verbose logging. More log output. Defaults to false", action="store_const", - const="verbose", - default="normal", + const=15, + default=20, ) verbosity.add_argument( "--debug", @@ -201,8 +201,8 @@ def get_args(): required=False, help="Debug logging. Most log output. Defaults to false", action="store_const", - const="debug", - default="normal", + const=10, + default=20, ) # parser.print_help() diff --git a/tests/test_02_utils.py b/tests/test_02_utils.py index 305d7e7..4c12d23 100644 --- a/tests/test_02_utils.py +++ b/tests/test_02_utils.py @@ -57,7 +57,7 @@ def test_chapter_list_full(): forcevol=True, download_path="tests", download_wait=2, - verbosity=3, + verbosity=10, ) chap_list = utils.get_chapter_list("1:1,1:2,1:4-1:7,2:", mdlp.manga_chapter_list) assert chap_list == [ diff --git a/tests/test_21_full.py b/tests/test_21_full.py index 23996a1..7e7c88a 100644 --- a/tests/test_21_full.py +++ b/tests/test_21_full.py @@ -33,7 +33,7 @@ def test_full_api_mangadex(wait_20s): forcevol=False, download_path="tests", download_wait=2, - verbosity="debug", + verbosity=10, ) mdlp.get_manga()