11__author__ = "desultory"
2- __version__ = "2.1 .0"
2+ __version__ = "2.2 .0"
33
44from collections .abc import KeysView , ValuesView
55
@@ -11,7 +11,7 @@ def handle_plural(function, log_level=10):
1111 Logs using the logger attribute if it exists.
1212 """
1313
14- def wrapper (self , * args ):
14+ def wrapper (self , * args , ** kwargs ):
1515 def log (msg , level = log_level ):
1616 if hasattr (self , "logger" ):
1717 self .logger .log (level , msg )
@@ -26,15 +26,15 @@ def log(msg, level=log_level):
2626 if isinstance (focus_arg , list ) and not isinstance (focus_arg , str ):
2727 log ("Expanding list: %s" % focus_arg )
2828 for item in focus_arg :
29- function (self , * (other_args + (item ,)))
29+ function (self , * (other_args + (item ,)), ** kwargs )
3030 elif isinstance (focus_arg , ValuesView ):
3131 log ("Expanding dict values: %s" % focus_arg )
3232 for value in focus_arg :
33- function (self , * (other_args + (value ,)))
33+ function (self , * (other_args + (value ,)), ** kwargs )
3434 elif isinstance (focus_arg , KeysView ):
3535 log ("Expanding dict keys: %s" % focus_arg )
3636 for key in focus_arg :
37- function (self , * (other_args + (key ,)))
37+ function (self , * (other_args + (key ,)), ** kwargs )
3838 elif isinstance (focus_arg , dict ):
3939 log ("Expanding dict: %s" % focus_arg )
4040 for key , value in focus_arg .items ():
@@ -47,9 +47,10 @@ def log(msg, level=log_level):
4747 value ,
4848 )
4949 ),
50+ ** kwargs ,
5051 )
5152 else :
5253 log (f"Arguments were not expanded: { args } " , log_level - 5 )
53- return function (self , * args )
54+ return function (self , * args , ** kwargs )
5455
5556 return wrapper
0 commit comments