About.from_ini()   A
last analyzed

Complexity

Conditions 1

Size

Total Lines 10

Duplication

Lines 10
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 10
loc 10
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 StringType
7
8 1
from .interfaces import INISerializable, DefaultProvider
9 1
from .helpers import field_from_ini, field_to_ini
10
11
12 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...
13 1
@zope.interface.implementer(DefaultProvider)
14 1
class About(Model):
15 1
    name = StringType(
16
        default="",
17
        required=True,
18
    )
19 1
    description = StringType(
20
        default="",
21
        required=True,
22
    )
23
24 1
    @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 1
    def to_ini(self, ini):
38
        field_to_ini(self.name, ini, 'NET', 'serverName')
39
        field_to_ini(self.description, ini, 'NET', 'serverDescription')
40
41
    @classmethod
42
    def default(cls):
43
        return cls({
44
            field_name: field.default
45
            for field_name, field in cls.fields.items()
46
        })
47