def available_deprecated(supported_name):
    """A decorator that marks a function as available, but also prints a
    deprecation warning. Use like

    @available_deprecated('my_new_method')
    def my_old_method(self, arg, model_name=None):
        args = compatability_shim(arg)
        return self.my_new_method(*args, model_name=None)

    To make `adapter.my_old_method` available but also print out a warning on
    use directing users to `my_new_method`.
    """
    def wrapper(func):
        func_name = func.__name__
        renamed_method(func_name, supported_name)

        @wraps(func)
        def inner(*args, **kwargs):
            warn('adapter:{}'.format(func_name))
            return func(*args, **kwargs)
        return available(inner)
    return wrapper
def available_deprecated ( supported_name ) : def wrapper ( func ) : func_name = func . __name__ renamed_method ( func_name , supported_name ) @ wraps ( func ) def inner ( * args , ** kwargs ) : warn ( 'adapter:{}' . format ( func_name ) ) return func ( * args , ** kwargs ) return available ( inner ) return wrapper
A decorator that marks a function as available, but also prints a
    deprecation warning. Use like

    @available_deprecated('my_new_method')
    def my_old_method(self, arg, model_name=None):
        args = compatability_shim(arg)
        return self.my_new_method(*args, model_name=None)

    To make `adapter.my_old_method` available but also print out a warning on
    use directing users to `my_new_method`.