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.
20 lines
411 B
20 lines
411 B
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
|
|
|