Passed
Push — smart_home ( 02db75...d6105e )
by Matt
03:01
created

PyDMXControl.smart._Callback   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 24
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 17
dl 0
loc 24
rs 10
c 0
b 0
f 0
wmc 4

3 Methods

Rating   Name   Duplication   Size   Complexity  
A Callback.set_state() 0 3 2
A Callback.__init__() 0 9 1
A Callback.get_state() 0 2 1
1
from pyhap.accessory import Accessory
2
from pyhap.const import CATEGORY_SWITCH
3
4
5
class Callback(Accessory):
6
    category = CATEGORY_SWITCH
7
8
    def __init__(self, name, callback, driver):
9
        super().__init__(driver, "Callback " + name)
10
11
        serv_switch = self.add_preload_service('Switch', chars=['On'])
12
13
        self.callback = callback
14
        self.state = 0
15
        serv_switch.configure_char('On', setter_callback=self.set_state, getter_callback=self.get_state,
16
                                   value=self.state)
17
18
    def get_state(self):
19
        return self.state
20
21
    def set_state(self, value):
22
        if value == 1:
23
            self.callback()
24