summaryrefslogtreecommitdiff
path: root/grc/base/Element.py
diff options
context:
space:
mode:
Diffstat (limited to 'grc/base/Element.py')
-rw-r--r--grc/base/Element.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/grc/base/Element.py b/grc/base/Element.py
index 04a3690282..b0f94d0183 100644
--- a/grc/base/Element.py
+++ b/grc/base/Element.py
@@ -39,9 +39,9 @@ class Element(object):
Is this element valid?
Returns:
- true when the element is enabled and has no error messages
+ true when the element is enabled and has no error messages or is bypassed
"""
- return not self.get_error_messages() or not self.get_enabled()
+ return (not self.get_error_messages() or not self.get_enabled()) or self.get_bypassed()
def add_error_message(self, msg):
"""
@@ -55,14 +55,14 @@ class Element(object):
def get_error_messages(self):
"""
Get the list of error messages from this element and all of its children.
- Do not include the error messages from disabled children.
+ Do not include the error messages from disabled or bypassed children.
Cleverly indent the children error messages for printing purposes.
Returns:
a list of error message strings
"""
error_messages = list(self._error_messages) #make a copy
- for child in filter(lambda c: c.get_enabled(), self.get_children()):
+ for child in filter(lambda c: c.get_enabled() and not c.get_bypassed(), self.get_children()):
for msg in child.get_error_messages():
error_messages.append("%s:\n\t%s"%(child, msg.replace("\n", "\n\t")))
return error_messages
@@ -75,6 +75,7 @@ class Element(object):
for child in self.get_children(): child.rewrite()
def get_enabled(self): return True
+ def get_bypassed(self): return False
##############################################
## Tree-like API