- redefine activate method

- for task introduced open() conext method
This commit is contained in:
jens
2020-12-18 15:58:02 +01:00
parent a3510ffe8f
commit 4e508c86c5
9 changed files with 85 additions and 62 deletions
+14 -7
View File
@@ -1,5 +1,6 @@
import abc
from utils.value import AttributeChange
from contextlib import contextmanager
class AStirrer(AttributeChange):
@@ -11,7 +12,6 @@ class AStirrer(AttributeChange):
self.dutyCycle = 1
self.cycleCounter = 0
self.isOn = 1
self.is_active = False
def process(self):
isOn = self.isOn
@@ -51,14 +51,21 @@ class AStirrer(AttributeChange):
def on_set_speed(self, speed):
pass
@contextmanager
def open(self):
try:
self.activate(True)
yield None
finally:
self.activate(False)
return None
@abc.abstractmethod
def on_activate(self, enable):
def activate(self, enable):
pass
def activate(self, enable):
self.is_active = enable
self.on_activate(enable)
@abc.abstractmethod
def is_activated(self):
return self.is_active
pass