summaryrefslogtreecommitdiff
path: root/grc/core/Port.py
diff options
context:
space:
mode:
authorSean Nowlan <nowlans@ieee.org>2017-02-02 14:15:39 -0500
committerSean Nowlan <nowlans@ieee.org>2017-02-02 14:15:39 -0500
commit88445d0d3511528ddddb5eb2c37a7739edff534b (patch)
tree4b6ec519124cb79d936cc3489acf117da46c578e /grc/core/Port.py
parent884eddf41e1f35606d563c128e4070f930a4d2ab (diff)
grc: evaluate cheetah template to resolve 'optional' tag in port definition
Diffstat (limited to 'grc/core/Port.py')
-rw-r--r--grc/core/Port.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/grc/core/Port.py b/grc/core/Port.py
index f740a69809..acf4eea3d4 100644
--- a/grc/core/Port.py
+++ b/grc/core/Port.py
@@ -168,7 +168,8 @@ class Port(Element):
self._nports = n.find('nports') or ''
self._vlen = n.find('vlen') or ''
- self._optional = bool(n.find('optional'))
+ self._optional = n.find('optional') or ''
+ self._optional_evaluated = False # Updated on rewrite()
self._clones = [] # References to cloned ports (for nports > 1)
def __str__(self):
@@ -208,6 +209,8 @@ class Port(Element):
hide = self.get_parent().resolve_dependencies(self._hide).strip().lower()
self._hide_evaluated = False if hide in ('false', 'off', '0') else bool(hide)
+ optional = self.get_parent().resolve_dependencies(self._optional).strip().lower()
+ self._optional_evaluated = False if optional in ('false', 'off', '0') else bool(optional)
# Update domain if was deduced from (dynamic) port type
type_ = self.get_type()
@@ -272,7 +275,7 @@ class Port(Element):
return 1
def get_optional(self):
- return bool(self._optional)
+ return self._optional_evaluated
def get_color(self):
"""