Skip to content

Commit d8bdd55

Browse files
committed
add get_kwargs_from_args
Signed-off-by: Zen <[email protected]>
1 parent 3f6ab5e commit d8bdd55

File tree

2 files changed

+28
-2
lines changed

2 files changed

+28
-2
lines changed

src/zenlib/util/get_args_n_logger.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
from zenlib.util import init_logger, init_argparser, process_args
1+
from zenlib.util import init_logger, init_argparser, process_args, get_kwargs_from_args
22

33

4-
def get_args_n_logger(package, description: str, arguments=[]):
4+
def get_args_n_logger(package, description: str, arguments=[], get_kwargs=False):
55
"""
66
Takes a description, and list of arguments, and returns the parsed args and logger.
77
"""
@@ -14,4 +14,7 @@ def get_args_n_logger(package, description: str, arguments=[]):
1414

1515
args = process_args(argparser, logger=logger)
1616

17+
if get_kwargs:
18+
args = get_kwargs_from_args(args, logger=logger)
19+
1720
return args, logger
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
2+
"""
3+
Get kwargs from argparser args
4+
"""
5+
6+
7+
def get_kwargs_from_args(args, logger=None, base_kwargs={}):
8+
"""
9+
Get kwargs from argparser args
10+
"""
11+
kwargs = base_kwargs.copy()
12+
if logger is not None:
13+
kwargs['logger'] = logger
14+
15+
for arg in vars(args):
16+
value = getattr(args, arg)
17+
if value is None or value is False:
18+
continue
19+
20+
kwargs[arg] = value
21+
return kwargs
22+
23+

0 commit comments

Comments
 (0)