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

DictEntry   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 4
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 2
Bugs 1 Features 0
Metric Value
wmc 1
c 2
b 1
f 0
dl 0
loc 4
ccs 0
cts 0
cp 0
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A __get__() 0 3 1
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