Completed
Push — develop ( f3eb03...f601c5 )
by Wu
10s
created

IntEntry.__get__()   A

Complexity

Conditions 2

Size

Total Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

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