parse()   A
last analyzed

Complexity

Conditions 3

Size

Total Lines 11

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 11
rs 9.4285
cc 3
1
"""
2
Wrap parameters parsing
3
As it's quite ugly and messy
4
"""
5
from functools import wraps
6
from flask.ext.restful import reqparse
7
8
9
def parse_params(*arguments):
10
    """
11
    Parse the parameters
12
    Forward them to the wrapped function as named parameters
13
    """
14
    def parse(func):
15
        """ Wrapper """
16
        @wraps(func)
17
        def resource_verb(*args, **kwargs):
18
            """ Decorated function """
19
            parser = reqparse.RequestParser()
20
            for argument in arguments:
21
                parser.add_argument(argument)
22
            kwargs.update(parser.parse_args())
23
            return func(*args, **kwargs)
24
        return resource_verb
25
    return parse
26