Completed
Push — master ( b95acc...a5fbcd )
by Oleksandr
01:06
created

Refly.from_ini()   A

Complexity

Conditions 1

Size

Total Lines 18

Duplication

Lines 18
Ratio 100 %

Code Coverage

Tests 1
CRAP Score 1.125

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 18
loc 18
ccs 1
cts 2
cp 0.5
rs 9.4285
cc 1
crap 1.125
1
# coding: utf-8
2
3 1
import zope.interface
4
5 1
from schematics.models import Model
6 1
from schematics.types import BooleanType, IntType, FloatType
7
8 1
from .interfaces import INISerializable
9
10
11 1 View Code Duplication
@zope.interface.implementer(INISerializable)
0 ignored issues
show
Duplication introduced by
This code seems to be duplicated in your project.
Loading history...
12 1
class Refly(Model):
13 1
    is_disabled = BooleanType(
14
        default=False,
15
        required=True,
16
    )
17 1
    kia_delay = IntType(
18
        min_value=0,
19
        default=0,
20
        required=True,
21
    )
22 1
    kia_delay_multiplier = FloatType(
23
        min_value=0.0,
24
        default=0.0,
25
        required=True,
26
    )
27 1
    max_kia = IntType(
28
        min_value=-1,
29
        default=-1,
30
        required=True,
31
    )
32
33 1
    @classmethod
34
    def from_ini(cls, ini):
35
        return cls({
36
            'is_disabled': ini.getboolean(
37
                'NET', 'reflyDisabled',
38
                fallback=cls.is_disabled.default,
39
            ),
40
            'kia_delay': ini.getint(
41
                'NET', 'reflyKIADelay',
42
                fallback=cls.kia_delay.default,
43
            ),
44
            'kia_delay_multiplier': ini.getfloat(
45
                'NET', 'reflyKIADelayMultiplier',
46
                fallback=cls.kia_delay_multiplier.default,
47
            ),
48
            'max_kia': ini.getint(
49
                'NET', 'maxAllowedKIA',
50
                fallback=cls.max_kia.default,
51
            ),
52
        })
53