Passed
Push — dev ( 4bfa05...67478a )
by Konstantinos
01:31
created

green_magic.data.interfaces   A

Complexity

Total Complexity 9

Size/Duplication

Total Lines 39
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 9
eloc 33
dl 0
loc 39
rs 10
c 0
b 0
f 0

9 Methods

Rating   Name   Duplication   Size   Complexity  
A TabularRetriever.row() 0 3 1
A TabularRetriever.column() 0 3 1
A TabularRetriever.nb_rows() 0 3 1
A TabularRetriever.nb_columns() 0 3 1
A TabularIterator.itercolumns() 0 3 1
A TabularIterator.columnnames() 0 3 1
A TabularRetriever.get_numerical_attributes() 0 3 1
A TabularIterator.iterrows() 0 3 1
A TabularMutator.add_column() 0 3 1
1
from abc import ABCMeta, abstractmethod, ABC
2
3
__all__ = ['TabularIterator', 'TabularRetriever', 'TabularMutator']
4
5
6
class TabularRetriever(ABC):
7
    @abstractmethod
8
    def column(self, identifier, data):
9
        raise NotImplementedError
10
    @abstractmethod
11
    def row(self, identifier, data):
12
        raise NotImplementedError
13
    @abstractmethod
14
    def nb_columns(self, data):
15
        raise NotImplementedError
16
    @abstractmethod
17
    def nb_rows(self, data):
18
        raise NotImplementedError
19
    @abstractmethod
20
    def get_numerical_attributes(self, data):
21
        raise NotImplementedError
22
23
24
class TabularIterator(ABC):
25
    @abstractmethod
26
    def iterrows(self, data):
27
        raise NotImplementedError
28
    @abstractmethod
29
    def itercolumns(self, data):
30
        raise NotImplementedError
31
    @abstractmethod
32
    def columnnames(self, data):
33
        raise NotImplementedError
34
35
class TabularMutator(ABC):
36
    @abstractmethod
37
    def add_column(self, *args, **kwargs):
38
        raise NotImplementedError
39