Skip to content

Commit 1b53d88

Browse files
Only call validation functions when args/kwargs are passed (pandas-dev#15850)
1 parent a108651 commit 1b53d88

File tree

1 file changed

+18
-17
lines changed

1 file changed

+18
-17
lines changed

pandas/compat/numpy/function.py

+18-17
Original file line numberDiff line numberDiff line change
@@ -37,23 +37,24 @@ def __init__(self, defaults, fname=None, method=None,
3737

3838
def __call__(self, args, kwargs, fname=None,
3939
max_fname_arg_count=None, method=None):
40-
fname = self.fname if fname is None else fname
41-
max_fname_arg_count = (self.max_fname_arg_count if
42-
max_fname_arg_count is None
43-
else max_fname_arg_count)
44-
method = self.method if method is None else method
45-
46-
if method == 'args':
47-
validate_args(fname, args, max_fname_arg_count, self.defaults)
48-
elif method == 'kwargs':
49-
validate_kwargs(fname, kwargs, self.defaults)
50-
elif method == 'both':
51-
validate_args_and_kwargs(fname, args, kwargs,
52-
max_fname_arg_count,
53-
self.defaults)
54-
else:
55-
raise ValueError("invalid validation method "
56-
"'{method}'".format(method=method))
40+
if args or kwargs:
41+
fname = self.fname if fname is None else fname
42+
max_fname_arg_count = (self.max_fname_arg_count if
43+
max_fname_arg_count is None
44+
else max_fname_arg_count)
45+
method = self.method if method is None else method
46+
47+
if method == 'args':
48+
validate_args(fname, args, max_fname_arg_count, self.defaults)
49+
elif method == 'kwargs':
50+
validate_kwargs(fname, kwargs, self.defaults)
51+
elif method == 'both':
52+
validate_args_and_kwargs(fname, args, kwargs,
53+
max_fname_arg_count,
54+
self.defaults)
55+
else:
56+
raise ValueError("invalid validation method "
57+
"'{method}'".format(method=method))
5758

5859

5960
ARGMINMAX_DEFAULTS = dict(out=None)

0 commit comments

Comments
 (0)