Passed
Push — master ( cf341e...dcdf4c )
by
unknown
03:07
created

FibonacciSensor.add_trigger()   A

Complexity

Conditions 1

Size

Total Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
from st2reactor.sensor.base import PollingSensor
2
3
from environ import get_environ
4
5
6
class FibonacciSensor(PollingSensor):
7
8
    def __init__(self, sensor_service, config,
9
                 poll_interval=5):
10
        super(FibonacciSensor, self).__init__(
11
            sensor_service=sensor_service,
12
            config=config,
13
            poll_interval=poll_interval
14
        )
15
        self.a = None
16
        self.b = None
17
        self.count = None
18
        self.logger = None
19
20
    def setup(self):
21
        self.a = 0
22
        self.b = 1
23
        self.count = 2
24
        self.logger = self.sensor_service.get_logger(name=self.__class__.__name__)
25
26
    def poll(self):
27
        fib = self.a + self.b
28
        self.logger.debug('Count: %d, a: %d, b: %d', self.count, self.a, self.b)
29
30
        payload = {
31
            "count": self.count,
32
            "fibonacci": fib,
33
            "pythonpath": get_environ("PYTHONPATH")
34
        }
35
36
        self.sensor_service.dispatch(trigger="examples.fibonacci", payload=payload)
37
        self.a = self.b
38
        self.b = fib
39
        self.count = self.count + 1
40
41
    def cleanup(self):
42
        pass
43
44
    def add_trigger(self, trigger):
45
        # This method is called when trigger is created
46
        pass
47
48
    def update_trigger(self, trigger):
49
        # This method is called when trigger is updated
50
        pass
51
52
    def remove_trigger(self, trigger):
53
        # This method is called when trigger is deleted
54
        pass
55