summaryrefslogtreecommitdiff
path: root/grc/core/Block.py
diff options
context:
space:
mode:
authorSebastian Koslowski <koslowski@kit.edu>2016-07-08 15:18:58 +0200
committerSebastian Koslowski <koslowski@kit.edu>2016-07-13 16:35:49 +0200
commit4f29b9ae0b518bcc41038d6d300429e5d656d8e0 (patch)
tree8ebc70938eb96adabdc3d428cce673d3e2345015 /grc/core/Block.py
parent5cef62d03e3a750bce7f180930ceb777f7dba6b2 (diff)
grc: refactor: block state handling
Diffstat (limited to 'grc/core/Block.py')
-rw-r--r--grc/core/Block.py25
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