Code Duplication    Length = 30-38 lines in 5 locations

il2fb/config/ds/schemas/hud.py 1 location

@@ 12-49 (lines=38) @@
9
from .helpers import field_from_ini
10
11
12
@zope.interface.implementer(INISerializable)
13
@zope.interface.implementer(DefaultProvider)
14
class HUD(Model):
15
    no_mission_info = BooleanType(
16
        default=False,
17
        required=True,
18
    )
19
    no_kill_info = BooleanType(
20
        default=False,
21
        required=True,
22
    )
23
    display_at_bottom = BooleanType(
24
        default=False,
25
        required=True,
26
    )
27
28
    @classmethod
29
    def from_ini(cls, ini):
30
        return cls({
31
            'no_mission_info': field_from_ini(
32
                cls.no_mission_info, ini,
33
                'game', 'NoMissionInfoHud',
34
            ),
35
            'no_kill_info': field_from_ini(
36
                cls.no_kill_info, ini,
37
                'game', 'noKillInfoHud',
38
            ),
39
            'display_at_bottom': field_from_ini(
40
                cls.display_at_bottom, ini,
41
                'game', 'lowInfoHud',
42
            ),
43
        })
44
45
    @classmethod
46
    def default(cls):
47
        return cls({
48
            field_name: field.default
49
            for field_name, field in cls.fields.items()
50
        })
51

il2fb/config/ds/schemas/morse.py 1 location

@@ 12-49 (lines=38) @@
9
from .helpers import field_from_ini
10
11
12
@zope.interface.implementer(INISerializable)
13
@zope.interface.implementer(DefaultProvider)
14
class Morse(Model):
15
    allow_morse_as_text = BooleanType(
16
        default=True,
17
        required=True,
18
    )
19
    show_morse_as_text = BooleanType(
20
        default=False,
21
        required=True,
22
    )
23
    block_morse_chat = BooleanType(
24
        default=False,
25
        required=True,
26
    )
27
28
    @classmethod
29
    def from_ini(cls, ini):
30
        return cls({
31
            'allow_morse_as_text': field_from_ini(
32
                cls.allow_morse_as_text, ini,
33
                'NET', 'allowMorseAsText',
34
            ),
35
            'show_morse_as_text': field_from_ini(
36
                cls.show_morse_as_text, ini,
37
                'game', 'ShowMorseAsText',
38
            ),
39
            'block_morse_chat': field_from_ini(
40
                cls.block_morse_chat, ini,
41
                'game', 'BlockMorseChat',
42
            ),
43
        })
44
45
    @classmethod
46
    def default(cls):
47
        return cls({
48
            field_name: field.default
49
            for field_name, field in cls.fields.items()
50
        })
51

il2fb/config/ds/schemas/anticheat/lags.py 1 location

@@ 62-93 (lines=32) @@
59
        })
60
61
62
@zope.interface.implementer(INISerializable)
63
@zope.interface.implementer(DefaultProvider)
64
class Warnings(Model):
65
    delay = FloatType(
66
        min_value=1.0,
67
        max_value=30.0,
68
        default=10.0,
69
        required=True,
70
    )
71
    max_number = IntType(
72
        default=3,
73
        required=True,
74
    )
75
76
    @classmethod
77
    def from_ini(cls, ini):
78
        return cls({
79
            'delay': field_from_ini(
80
                cls.delay, ini,
81
                'MaxLag', 'cheaterWarningDelay',
82
            ),
83
            'max_number': field_from_ini(
84
                cls.max_number, ini,
85
                'MaxLag', 'cheaterWarningNum',
86
            ),
87
        })
88
89
    @classmethod
90
    def default(cls):
91
        return cls({
92
            field_name: field.default
93
            for field_name, field in cls.fields.items()
94
        })
95
96

il2fb/config/ds/schemas/statistics.py 1 location

@@ 86-115 (lines=30) @@
83
        })
84
85
86
@zope.interface.implementer(INISerializable)
87
@zope.interface.implementer(DefaultProvider)
88
class Belligerents(Model):
89
    show_score = BooleanType(
90
        default=False,
91
        required=True,
92
    )
93
    accumulate_score = BooleanType(
94
        default=False,
95
        required=True,
96
    )
97
98
    @classmethod
99
    def from_ini(cls, ini):
100
        return cls({
101
            'show_score': field_from_ini(
102
                cls.show_score, ini,
103
                'NET', 'showTeamScore',
104
            ),
105
            'accumulate_score': field_from_ini(
106
                cls.accumulate_score, ini,
107
                'NET', 'cumulativeTeamScore',
108
            ),
109
        })
110
111
    @classmethod
112
    def default(cls):
113
        return cls({
114
            field_name: field.default
115
            for field_name, field in cls.fields.items()
116
        })
117
118

il2fb/config/ds/schemas/about.py 1 location

@@ 12-41 (lines=30) @@
9
from .helpers import field_from_ini
10
11
12
@zope.interface.implementer(INISerializable)
13
@zope.interface.implementer(DefaultProvider)
14
class About(Model):
15
    name = StringType(
16
        default="",
17
        required=True,
18
    )
19
    description = StringType(
20
        default="",
21
        required=True,
22
    )
23
24
    @classmethod
25
    def from_ini(cls, ini):
26
        return cls({
27
            'name': field_from_ini(
28
                cls.name, ini,
29
                'NET', 'serverName',
30
            ),
31
            'description': field_from_ini(
32
                cls.description, ini,
33
                'NET', 'serverDescription',
34
            ),
35
        })
36
37
    @classmethod
38
    def default(cls):
39
        return cls({
40
            field_name: field.default
41
            for field_name, field in cls.fields.items()
42
        })
43