(orig)
return foo
Returns a new method that wraps orig (the original method) with
    something that first calls on_modify from the
    instance. _ListWrapper uses this to wrap all methods that modify
    the list.
Returns a new method that wraps orig (the original method) with
    something that first calls on_modify from the
    instance. _ListWrapper uses this to wrap all methods that modify
    the list.
Returns a new method that wraps orig ( the original method ) with something that first calls on_modify from the instance . _ListWrapper uses this to wrap all methods that modify the list .
def _wrapture(orig):
    """
    Returns a new method that wraps orig (the original method) with
    something that first calls on_modify from the
    instance. _ListWrapper uses this to wrap all methods that modify
    the list.
    """

#    @functools.wraps(orig)
    def foo(*args):
        obj = args[0]
        obj.on_modify()
        return orig(*args)
    return foo
def _wrapture ( orig ) : #    @functools.wraps(orig) def foo ( * args ) : obj = args [ 0 ] obj . on_modify ( ) return orig ( * args ) return foo