summaryrefslogtreecommitdiff
path: root/grc/core/params/param.py
diff options
context:
space:
mode:
authorHåkon Vågsether <haakonsv@gmail.com>2018-08-29 17:25:11 +0200
committerMartin Braun <martin.braun@ettus.com>2018-11-22 13:48:21 -0800
commit99b8ef09b954c69492be95b68989d6d75b0446ee (patch)
tree71b5f1a00817ff9f81eee1fae71e9b264f217b60 /grc/core/params/param.py
parent745b2b2d34cff22468ea9a4a785e82d3398dc4e6 (diff)
grc: Fix problems with option_attributes
Enabling the option_attributes to be accessed by the rest of the block's parameters by using a new string subtype. Also adding validation.
Diffstat (limited to 'grc/core/params/param.py')
-rw-r--r--grc/core/params/param.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/grc/core/params/param.py b/grc/core/params/param.py
index ce40025228..69aa6fd811 100644
--- a/grc/core/params/param.py
+++ b/grc/core/params/param.py
@@ -31,6 +31,7 @@ from ..utils.descriptors import Evaluated, EvaluatedEnum, setup_names
from . import dtypes
from .template_arg import TemplateArg
+attributed_str = type('attributed_str', (str,), {})
@setup_names
class Param(Element):
@@ -178,6 +179,10 @@ class Param(Element):
# ID and Enum types (not evaled)
#########################
if dtype in ('id', 'stream_id') or self.is_enum():
+ if self.options.attributes:
+ expr = attributed_str(expr)
+ for key, value in self.options.attributes[expr].items():
+ setattr(expr, key, value)
return expr
#########################