diff options
author | Sean Nowlan <nowlans@ieee.org> | 2017-02-02 14:15:39 -0500 |
---|---|---|
committer | Sean Nowlan <nowlans@ieee.org> | 2017-02-02 14:15:39 -0500 |
commit | 88445d0d3511528ddddb5eb2c37a7739edff534b (patch) | |
tree | 4b6ec519124cb79d936cc3489acf117da46c578e | |
parent | 884eddf41e1f35606d563c128e4070f930a4d2ab (diff) |
grc: evaluate cheetah template to resolve 'optional' tag in port definition
-rw-r--r-- | grc/core/Port.py | 7 |
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): """ |