Passed
Pull Request — master (#133)
by Thijs
01:10
created

tests.helpers.create_dt_params()   A

Complexity

Conditions 4

Size

Total Lines 24
Code Lines 19

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 19
dl 0
loc 24
rs 9.45
c 0
b 0
f 0
cc 4
nop 5
1
def create_dt_params(columns, search="", start=0, length=10, order=None):
2
    """Create DataTables input parameters."""
3
    params = {
4
        "draw": "1",
5
        "start": str(start),
6
        "length": str(length),
7
        "search[value]": str(search),
8
        "search[regex]": "false",
9
    }
10
11
    for i, item in enumerate(columns):
12
        cols = "columns[%s]" % i
13
        params["%s%s" % (cols, "[data]")] = i
14
        params["%s%s" % (cols, "[name]")] = ""
15
        params["%s%s" % (cols, "[searchable]")] = "true"
16
        params["%s%s" % (cols, "[orderable]")] = "true"
17
        params["%s%s" % (cols, "[search][value]")] = ""
18
        params["%s%s" % (cols, "[search][regex]")] = "false"
19
20
    for i, item in enumerate(order or [{"column": 0, "dir": "asc"}]):
21
        for key, value in item.items():
22
            params["order[%s][%s]" % (i, key)] = str(value)
23
24
    return params
25