Completed
Push — develop ( b8ee36...47f076 )
by Wu
9s
created

DictEntry.__get__()   A

Complexity

Conditions 1

Size

Total Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 2
Bugs 1 Features 0
Metric Value
c 2
b 1
f 0
dl 0
loc 3
ccs 0
cts 0
cp 0
rs 10
cc 1
crap 2
1
# -*- coding: utf-8 -*-
2 15
from werobot.utils import to_text
3
4
5 15
class BaseEntry(object):
6 15
    def __init__(self, entry, default=None):
7 15
        self.entry = entry
8 15
        self.default = default
9
10
11 15
class IntEntry(BaseEntry):
12 15
    def __get__(self, instance, owner):
13 15
        try:
14 15
            v = int(instance.__dict__.get(self.entry, self.default))
15 15
        except TypeError:
16 15
            v = None
17 15
        return v
18
19
20 15
class FloatEntry(BaseEntry):
21 15
    def __get__(self, instance, owner):
22 15
        try:
23 15
            v = float(instance.__dict__.get(self.entry, self.default))
24 15
        except TypeError:
25 15
            v = None
26 15
        return v
27
28
29 15
class StringEntry(BaseEntry):
30 15
    def __get__(self, instance, owner):
31 15
        v = instance.__dict__.get(self.entry, self.default)
32 15
        if v is not None:
33 15
            return to_text(v)
34 15
        return v
35
36
37
class DictEntry(BaseEntry):
38
    def __get__(self, instance, owner):
39
        v = instance.__dict__.get(self.entry, self.default)
40
        return v
41