diff options
author | Sebastian Koslowski <koslowski@kit.edu> | 2016-07-08 15:18:58 +0200 |
---|---|---|
committer | Sebastian Koslowski <koslowski@kit.edu> | 2016-07-13 16:35:49 +0200 |
commit | 4f29b9ae0b518bcc41038d6d300429e5d656d8e0 (patch) | |
tree | 8ebc70938eb96adabdc3d428cce673d3e2345015 /grc/core/Block.py | |
parent | 5cef62d03e3a750bce7f180930ceb777f7dba6b2 (diff) |
grc: refactor: block state handling
Diffstat (limited to 'grc/core/Block.py')
-rw-r--r-- | grc/core/Block.py | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/grc/core/Block.py b/grc/core/Block.py index 743c9de99f..ec65a1a494 100644 --- a/grc/core/Block.py +++ b/grc/core/Block.py @@ -50,8 +50,7 @@ class Block(Element): is_block = True - # block states - DISABLED, ENABLED, BYPASSED = range(3) + STATE_LABELS = ['disabled', 'enabled', 'bypassed'] def __init__(self, flow_graph, n): """ @@ -410,9 +409,9 @@ class Block(Element): DISABLED - 2 """ try: - return int(self.params['_enabled'].get_value()) + return self.STATE_LABELS[int(self.params['_enabled'].get_value())] except ValueError: - return self.ENABLED + return 'enabled' @state.setter def state(self, value): @@ -424,9 +423,11 @@ class Block(Element): BYPASSED - 1 DISABLED - 2 """ - if value not in [self.ENABLED, self.BYPASSED, self.DISABLED]: - value = self.ENABLED - self.params['_enabled'].set_value(str(value)) + try: + encoded = str(self.STATE_LABELS.index(value)) + except ValueError: + encoded = str(self.STATE_LABELS.index('enabled')) + self.params['_enabled'].set_value(encoded) # Enable/Disable Aliases def get_enabled(self): @@ -436,7 +437,7 @@ class Block(Element): Returns: true for enabled """ - return self.state != self.DISABLED + return self.state != 'disabled' def set_enabled(self, enabled): """ @@ -449,7 +450,7 @@ class Block(Element): True if block changed state """ old_state = self.state - new_state = self.ENABLED if enabled else self.DISABLED + new_state = 'enabled' if enabled else 'disabled' self.state = new_state return old_state != new_state @@ -458,7 +459,7 @@ class Block(Element): """ Check if the block is bypassed """ - return self.state == self.BYPASSED + return self.state == 'bypassed' def set_bypassed(self): """ @@ -467,8 +468,8 @@ class Block(Element): Returns: True if block chagnes state """ - if self.state != self.BYPASSED and self.can_bypass(): - self.state = self.BYPASSED + if self.state != 'bypassed' and self.can_bypass(): + self.state = 'bypassed' return True return False |