Skip to content

Commit 9c8eec3

Browse files
committed
clean imports, drop useless function
Signed-off-by: Zen <[email protected]>
1 parent 7084001 commit 9c8eec3

File tree

3 files changed

+18
-36
lines changed

3 files changed

+18
-36
lines changed

src/zenlib/util/__init__.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from .colorize import colorize
22
from .dict_check import contains, unset
33
from .handle_plural import handle_plural
4-
from .main_funcs import get_args_n_logger, get_kwargs, get_kwargs_from_args, init_argparser, init_logger, process_args
4+
from .main_funcs import get_args_n_logger, get_kwargs, get_kwargs_from_args, init_logger, process_args
55
from .merge_class import merge_class
66
from .pretty_print import pretty_print
77
from .replace_file_line import replace_file_line
@@ -15,7 +15,6 @@
1515
"replace_file_line",
1616
"init_logger",
1717
"process_args",
18-
"init_argparser",
1918
"get_args_n_logger",
2019
"get_kwargs_from_args",
2120
"get_kwargs",

src/zenlib/util/main_funcs.py

Lines changed: 15 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,12 @@
22
Functions to help with the main()
33
"""
44

5-
__version__ = "1.3.1"
6-
__author__ = "desultory"
5+
__version__ = "1.4.0"
6+
7+
from argparse import ArgumentError, ArgumentParser, Namespace
8+
from importlib.metadata import version
9+
from logging import FileHandler, Formatter, StreamHandler, getLogger
10+
from sys import argv
711

812

913
def get_base_args():
@@ -20,23 +24,15 @@ def get_base_args():
2024

2125
def init_logger(name=None):
2226
"""Initialize the logger with a name"""
23-
from logging import getLogger
24-
2527
name = name or __name__
2628
return getLogger(name)
2729

2830

29-
def init_argparser(prog=None, description=None):
30-
"""Initialize an argparser with common options."""
31-
from argparse import ArgumentParser
32-
33-
argparser = ArgumentParser(prog=prog, description=description)
34-
return argparser
35-
36-
3731
def get_kwargs_from_args(args, logger=None, base_kwargs={}, drop_base=True):
3832
"""Get kwargs from argparser args.
39-
Drop base doesn't add init_argparser args."""
33+
Drop base doesn't add args defined in get_base_args.
34+
Empty args are not added to kwargs.
35+
"""
4036
kwargs = base_kwargs.copy()
4137
if logger is not None:
4238
kwargs["logger"] = logger
@@ -55,8 +51,6 @@ def get_kwargs_from_args(args, logger=None, base_kwargs={}, drop_base=True):
5551

5652
def process_args(argparser, logger=None, strict=False):
5753
"""Process argparser args, optionally configuring a logger."""
58-
from logging import Formatter
59-
6054
from zenlib.logging import ColorLognameFormatter
6155

6256
if strict:
@@ -66,9 +60,8 @@ def process_args(argparser, logger=None, strict=False):
6660
if unknown:
6761
args._unknown = unknown
6862

69-
if 'version' in args and args.version and argparser.prog != "zenlib_test":
63+
if "version" in args and args.version and argparser.prog != "zenlib_test":
7064
package = argparser.prog
71-
from importlib.metadata import version
7265

7366
print(f"{package} {version(package)}")
7467
exit(0)
@@ -96,13 +89,11 @@ def process_args(argparser, logger=None, strict=False):
9689
handler.setFormatter(formatter)
9790
break
9891
else:
99-
from logging import FileHandler, StreamHandler
100-
10192
handler = StreamHandler() if args.log_file is None else FileHandler(args.log_file)
10293
handler.setFormatter(formatter)
10394
logger.addHandler(handler)
10495

105-
if '__unknown' in args and args.__unknown:
96+
if "__unknown" in args and args.__unknown:
10697
logger.warning(f"Unknown args: {args.__unknown}")
10798

10899
return args
@@ -128,12 +119,10 @@ def get_args_n_logger(package, description: str, arguments=[], drop_default=Fals
128119
Returns the parsed args and logger.
129120
"""
130121
all_arguments = get_base_args() + arguments
131-
from sys import argv
132122
if "--dump_args" in argv:
133123
dump_args_for_autocomplete(all_arguments)
134124

135-
from argparse import Namespace, ArgumentError
136-
argparser = init_argparser(prog=package, description=description)
125+
argparser = ArgumentParser(prog=package, description=description)
137126
logger = init_logger(package)
138127

139128
def add_args(args, argparser):
@@ -157,7 +146,9 @@ def add_args(args, argparser):
157146
return args, logger
158147

159148

160-
def get_kwargs(package, description: str, arguments=[], base_kwargs={}, drop_default=False, drop_base=True, strict=False):
149+
def get_kwargs(
150+
package, description: str, arguments=[], base_kwargs={}, drop_default=False, drop_base=True, strict=False
151+
):
161152
"""Like get_args_n_logger, but only returns kwargs"""
162153
args, logger = get_args_n_logger(package, description, arguments, drop_default=drop_default, strict=strict)
163154
return get_kwargs_from_args(args, logger=logger, base_kwargs=base_kwargs, drop_base=drop_base)

tests/test_main_funcs.py

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
from argparse import ArgumentParser, Namespace
1+
from argparse import Namespace
22
from logging import Logger
33
from unittest import TestCase, expectedFailure, main
44

5-
from zenlib.util import get_args_n_logger, get_kwargs, get_kwargs_from_args, init_argparser, init_logger
5+
from zenlib.util import get_args_n_logger, get_kwargs, get_kwargs_from_args, init_logger
66
from zenlib.util.main_funcs import dump_args_for_autocomplete, get_base_args
77

88
DEFAULT_ARGS = ["debug", "trace", "log_time", "no_log_color"]
@@ -18,14 +18,6 @@ class TestMainFuncs(TestCase):
1818
def test_init_logger(self):
1919
self.assertIsInstance(init_logger(), Logger)
2020

21-
def test_init_argparser(self):
22-
self.assertIsInstance(init_argparser(), ArgumentParser)
23-
24-
def test_named_init_argparser(self):
25-
parser = init_argparser("test", "test description")
26-
self.assertEqual(parser.prog, "test")
27-
self.assertEqual(parser.description, "test description")
28-
2921
def _check_for_test_args(self, args):
3022
self.assertIsInstance(args, Namespace)
3123

0 commit comments

Comments
 (0)