def redirect_old_url(old_rule, endpoint, route_kw_func=None, append=None):
    def redirector(**route_kw):
        if route_kw_func:
            return redirect(url_for(endpoint, **route_kw_func(**route_kw)))
        return redirect(url_for(endpoint, **request.args), 301)

    app.add_url_rule(old_rule, endpoint + '_old' + (append if append else ''), redirector)
    def decorator(func):
        @wraps(func)
        def redirector(**route_kw):
            return redirect(url_for(func.__name__, **route_kw), 301)

        app.add_url_rule(old_rule, _get_new_url_rule_name(func.__name__), redirector)

        return func
    def decorator(func):
        @wraps(func)
        def redirector(**route_kw):
            return redirect(url_for(func.__name__, **route_kw), 301)

        app.add_url_rule(old_rule, _get_new_url_rule_name(func.__name__),
                         redirector)

        return func
Example #4
0
def base_api_func(function):

    @wraps(function)
    def decorator(*args, **kwargs):
        version = int(kwargs['version'])
        if version < 1 or version > 1:
            abort(404)
        
        del kwargs['version']
        return function(*args, **kwargs)

    exempt_funcs.add(decorator)

    name = function.__name__
    app.add_url_rule('/api/v<int:version>/%s' % name, name, decorator, methods=['GET', 'POST'])
    
    return decorator
Example #5
0
def base_api_func(function):
    @wraps(function)
    def decorator(*args, **kwargs):
        version = int(kwargs['version'])
        if version < 1 or version > 1:
            abort(404)

        del kwargs['version']
        return function(*args, **kwargs)

    exempt_funcs.add(decorator)

    name = function.__name__
    app.add_url_rule('/api/v<int:version>/%s' % name,
                     name,
                     decorator,
                     methods=['GET', 'POST'])

    return decorator