Passed
Pull Request — master (#496)
by
unknown
02:17
created

annif.transformer.inputlimiter   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 23
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 16
dl 0
loc 23
rs 10
c 0
b 0
f 0
wmc 4

3 Methods

Rating   Name   Duplication   Size   Complexity  
A InputLimiter.__init__() 0 4 1
A InputLimiter._validate_value() 0 5 2
A InputLimiter.transform_text() 0 2 1
1
# TODO Add docstring
2
from annif.exception import ConfigurationException
3
from . import transformer
4
5
6
class InputLimiter(transformer.IdentityTransform):
7
8
    name = 'limit'
9
10
    def __init__(self, project, input_limit):
11
        self.project = project
12
        self.input_limit = int(input_limit)
13
        self._validate_value(self.input_limit)
14
15
    def transform_text(self, text):
16
        return text[:self.input_limit]
17
18
    def _validate_value(self, input_limit):
19
        if input_limit < 0:
20
            raise ConfigurationException(
21
                'input_limit in limit_input transformer cannot be negative',
22
                project_id=self.project.project_id)
23