File size: 431 Bytes
bbfde3f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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