Passed
Push — master ( aa21cd...9d2577 )
by Max
01:10
created

structured_data._descriptor.common   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 20
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 13
dl 0
loc 20
rs 10
c 0
b 0
f 0
wmc 3

1 Function

Rating   Name   Duplication   Size   Complexity  
A decorate() 0 3 1

1 Method

Rating   Name   Duplication   Size   Complexity  
A Descriptor.__new__() 0 6 2
1
import functools
2
3
4
def decorate(matchers, structure, func):
5
    matchers.append((structure, func))
6
    return func
7
8
9
class Descriptor:
10
    """Base class for decorator classes."""
11
12
    __wrapped__ = None
13
14
    def __new__(cls, func, *args, **kwargs):
15
        new = super().__new__(cls, *args, **kwargs)
16
        new.__doc__ = None
17
        if func is None:
18
            return new
19
        return functools.wraps(func)(new)
20