From 43d21deeedb108e0f65b2372ccc6caaf9d69a631 Mon Sep 17 00:00:00 2001 From: Firq Date: Thu, 17 Oct 2024 23:27:20 +0200 Subject: [PATCH] new exports and restructuring --- pyproject.toml | 4 ++- skyeweave/__init__.py | 2 ++ skyeweave/cli/cli.py | 29 ++++++++------------ skyeweave/{backend => service}/__init__.py | 0 skyeweave/{backend => service}/atlas.py | 0 skyeweave/{backend => service}/compose.py | 0 skyeweave/utils/__init__.py | 4 +-- skyeweave/utils/disables.py | 5 ---- skyeweave/utils/logger.py | 31 ++++++++++++++-------- 9 files changed, 38 insertions(+), 37 deletions(-) rename skyeweave/{backend => service}/__init__.py (100%) rename skyeweave/{backend => service}/atlas.py (100%) rename skyeweave/{backend => service}/compose.py (100%) delete mode 100644 skyeweave/utils/disables.py diff --git a/pyproject.toml b/pyproject.toml index fd4cd4a..200173a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "skyeweave" -version = "1.0.0-c.1" +version = "1.0.0-c.2" requires-python = ">= 3.10" authors = [{name = "Firq", email = "firelp42@gmail.com"}] maintainers = [{name = "Firq", email = "firelp42@gmail.com"}] @@ -47,11 +47,13 @@ disable = [ "missing-class-docstring", "logging-fstring-interpolation", ] +ignore-paths="test/*" [tool.mypy] python_version = "3.11" warn_return_any = true warn_unused_configs = true +exclude = [ "test" ] [build-system] requires = ["setuptools >= 61.0"] diff --git a/skyeweave/__init__.py b/skyeweave/__init__.py index 19a18d9..7533508 100644 --- a/skyeweave/__init__.py +++ b/skyeweave/__init__.py @@ -1,3 +1,5 @@ import importlib.metadata __version__ = importlib.metadata.version(__package__ or "skyeweave") + +from .service import compose diff --git a/skyeweave/cli/cli.py b/skyeweave/cli/cli.py index 7bf31ec..7622806 100644 --- a/skyeweave/cli/cli.py +++ b/skyeweave/cli/cli.py @@ -5,15 +5,14 @@ import sys from typing import List from .. import __version__ -from ..backend import compose +from ..service import compose from ..config import AtlasAPIConfig, LoggingConfig, PathConfig -from ..utils.filesystem import rmdir -from ..utils.disables import disable_tqdm +from ..utils import rmdir, disable_tqdm LOGGER = logging.getLogger(LoggingConfig.NAME) # pylint: disable=too-few-public-methods -class Arguments(argparse.Namespace): +class CLIArguments(argparse.Namespace): """ Default Arguments when calling the CLI """ @@ -25,7 +24,7 @@ class Arguments(argparse.Namespace): timeout: int quiet: bool -def parse_arguments(): +def parse_arguments(arguments): """ Create a parser and parse the arguments of sys.argv based on the Arguments Namespace Returns arguments and extra arguments separately @@ -44,12 +43,9 @@ def parse_arguments(): parser.add_argument("--reset", action="store_true", default=False, dest="reset", help="Delete any already downloaded assets") parser.add_argument("--quiet", "-q", action="store_true", default=False, dest="quiet", help="Mute output and hide progress bars") + return parser.parse_known_args(arguments, namespace=CLIArguments) - args = Arguments() - args, extra_args = parser.parse_known_args(sys.argv[1:], namespace=args) - return args, extra_args - -def welcome(): +def __welcome(): print("-------------------------------------------") print(" Welcome to skyeweave, an expression sheet ") print(" composer developed by Firq ") @@ -68,18 +64,16 @@ def validate_id(input_id: None | str) -> int: return int(input_id) def run(): - args, _ = parse_arguments() + args, _ = parse_arguments(sys.argv[1:]) if args.output: PathConfig.OUTPUT = pathlib.Path(args.output) - if args.timeout and args.timeout >= 0: AtlasAPIConfig.TIMEOUT = args.timeout - if args.quiet: disable_tqdm() LOGGER.disabled = True else: - welcome() + __welcome() input_id = validate_id(args.id) @@ -93,9 +87,8 @@ def run(): else: LOGGER.info("No cache to clear was found, continuing") - if args.reset: - if PathConfig.IMAGES.exists(): - rmdir(PathConfig.IMAGES) - LOGGER.info("Successfully reset local storage") + if args.reset and PathConfig.IMAGES.exists(): + rmdir(PathConfig.IMAGES) + LOGGER.info("Successfully reset local storage") compose(input_id, args.filter) diff --git a/skyeweave/backend/__init__.py b/skyeweave/service/__init__.py similarity index 100% rename from skyeweave/backend/__init__.py rename to skyeweave/service/__init__.py diff --git a/skyeweave/backend/atlas.py b/skyeweave/service/atlas.py similarity index 100% rename from skyeweave/backend/atlas.py rename to skyeweave/service/atlas.py diff --git a/skyeweave/backend/compose.py b/skyeweave/service/compose.py similarity index 100% rename from skyeweave/backend/compose.py rename to skyeweave/service/compose.py diff --git a/skyeweave/utils/__init__.py b/skyeweave/utils/__init__.py index 5930604..d6ba198 100644 --- a/skyeweave/utils/__init__.py +++ b/skyeweave/utils/__init__.py @@ -1,2 +1,2 @@ -from .logger import init_logger -LOGGER = init_logger() +from .filesystem import rmdir +from .logger import LOGGER, disable_tqdm diff --git a/skyeweave/utils/disables.py b/skyeweave/utils/disables.py deleted file mode 100644 index 8a3cb2f..0000000 --- a/skyeweave/utils/disables.py +++ /dev/null @@ -1,5 +0,0 @@ -# pylint: disable=import-outside-toplevel -def disable_tqdm(): - from tqdm import tqdm - from functools import partialmethod - tqdm.__init__ = partialmethod(tqdm.__init__, disable=True) diff --git a/skyeweave/utils/logger.py b/skyeweave/utils/logger.py index 45303f6..11bec2e 100644 --- a/skyeweave/utils/logger.py +++ b/skyeweave/utils/logger.py @@ -1,18 +1,27 @@ - +# pylint: disable=import-outside-toplevel import logging import sys -from ..config import LoggingConfig -from .disables import disable_tqdm -def init_logger(): +from ..config import LoggingConfig + +def disable_tqdm(): + from tqdm import tqdm + from functools import partialmethod + tqdm.__init__ = partialmethod(tqdm.__init__, disable=True) + +def __init_logger(): if LoggingConfig.LEVEL == "DEBUG": disable_tqdm() - logger = logging.getLogger(LoggingConfig.NAME) - logger.setLevel(LoggingConfig.LEVEL) - handler = logging.StreamHandler(stream=sys.stdout) - formatter = logging.Formatter('[%(levelname)s] [%(name)s] %(message)s') - handler.setFormatter(formatter) - logger.addHandler(handler) + default_logger = logging.getLogger(LoggingConfig.NAME) + default_logger.setLevel(LoggingConfig.LEVEL) - return logger + default_handler = logging.StreamHandler(stream=sys.stdout) + default_formatter = logging.Formatter('[%(levelname)s] [%(name)s] %(message)s') + + default_handler.setFormatter(default_formatter) + default_logger.addHandler(default_handler) + + return default_logger + +LOGGER = __init_logger()