You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
21 lines
411 B
21 lines
411 B
6 months ago
|
import functools
|
||
|
|
||
|
|
||
|
# from jaraco.functools 3.5
|
||
|
def pass_none(func):
|
||
|
"""
|
||
|
Wrap func so it's not called if its first param is None
|
||
|
|
||
|
>>> print_text = pass_none(print)
|
||
|
>>> print_text('text')
|
||
|
text
|
||
|
>>> print_text(None)
|
||
|
"""
|
||
|
|
||
|
@functools.wraps(func)
|
||
|
def wrapper(param, *args, **kwargs):
|
||
|
if param is not None:
|
||
|
return func(param, *args, **kwargs)
|
||
|
|
||
|
return wrapper
|