def always_wait_until(timeout, retry_interval, value=True, op=operator.eq):
    'Decorator to call wait_until(...) every time for a decorated function/method'

    def wait_until_decorator(func):
        'Callable object that must be returned by the @always_wait_until decorator'

        @wraps(func)
        def wrapper(*args, **kwargs):
            'pre-callback, target function call and post-callback'
            return wait_until(timeout, retry_interval, func, value, op, *args, **kwargs)
        return wrapper
    return wait_until_decorator
Decorator to call wait_until(...) every time for a decorated function/method
def always_wait_until(timeout, retry_interval, value=True, op=operator.eq):
    

    def wait_until_decorator(func):
        'Callable object that must be returned by the @always_wait_until decorator'

        @wraps(func)
        def wrapper(*args, **kwargs):
            'pre-callback, target function call and post-callback'
            return wait_until(timeout, retry_interval, func, value, op, *args, **kwargs)
        return wrapper
    return wait_until_decorator