diff options
author | Håkon Vågsether <haakonsv@gmail.com> | 2018-08-29 17:25:11 +0200 |
---|---|---|
committer | Martin Braun <martin.braun@ettus.com> | 2018-11-22 13:48:21 -0800 |
commit | 99b8ef09b954c69492be95b68989d6d75b0446ee (patch) | |
tree | 71b5f1a00817ff9f81eee1fae71e9b264f217b60 /grc/core/params/param.py | |
parent | 745b2b2d34cff22468ea9a4a785e82d3398dc4e6 (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.py | 5 |
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 ######################### |