Skip to content

Commit 4cfe813

Browse files
authored
None shall not pass args_in_kwargs (#1815)
Fixes bug in `args_in_kwargs` function whereby `None` values are allowed, when actually, we want to drop the `None`. * Add failing test for when param=0 * Check that argument is not None or False
1 parent f94b399 commit 4cfe813

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

pygmt/helpers/utils.py

+19-1
Original file line numberDiff line numberDiff line change
@@ -306,5 +306,23 @@ def args_in_kwargs(args, kwargs):
306306
--------
307307
bool
308308
If one of the required arguments is in ``kwargs``.
309+
310+
Examples
311+
--------
312+
313+
>>> args_in_kwargs(args=["A", "B"], kwargs={"C": "xyz"})
314+
False
315+
>>> args_in_kwargs(args=["A", "B"], kwargs={"B": "af"})
316+
True
317+
>>> args_in_kwargs(args=["A", "B"], kwargs={"B": None})
318+
False
319+
>>> args_in_kwargs(args=["A", "B"], kwargs={"B": True})
320+
True
321+
>>> args_in_kwargs(args=["A", "B"], kwargs={"B": False})
322+
False
323+
>>> args_in_kwargs(args=["A", "B"], kwargs={"B": 0})
324+
True
309325
"""
310-
return any(arg in kwargs for arg in args)
326+
return any(
327+
kwargs.get(arg) is not None and kwargs.get(arg) is not False for arg in args
328+
)

0 commit comments

Comments
 (0)