diff options
author | Sebastian Koslowski <sebastian.koslowski@gmail.com> | 2017-10-26 20:15:22 +0200 |
---|---|---|
committer | Sebastian Koslowski <sebastian.koslowski@gmail.com> | 2017-11-08 19:30:41 +0100 |
commit | 1fa89b3704d7f476e4395eb9358d5a6d7642251b (patch) | |
tree | bb553275eff3b791a5ac4482ed0e8355d5fce0b1 /grc/core/blocks/_build.py | |
parent | 865e2586b4f34fce101d8aa4a240431273009b8c (diff) |
grc: disable auto-conversion and implement json cache
Diffstat (limited to 'grc/core/blocks/_build.py')
-rw-r--r-- | grc/core/blocks/_build.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/grc/core/blocks/_build.py b/grc/core/blocks/_build.py index 9221433387..ce3496d9c4 100644 --- a/grc/core/blocks/_build.py +++ b/grc/core/blocks/_build.py @@ -29,7 +29,7 @@ def build(id, label='', category='', flags='', documentation='', parameters=None, inputs=None, outputs=None, templates=None, **kwargs): block_id = id - cls = type(block_id, (Block,), {}) + cls = type(str(block_id), (Block,), {}) cls.key = block_id cls.label = label or block_id.title() @@ -63,7 +63,9 @@ def build(id, label='', category='', flags='', documentation='', def _single_mako_expr(value, block_id): - match = re.match(r'\s*\$\{\s*(.*?)\s*\}\s*', str(value)) - if value and not match: + if not value: + return None + value = value.strip() + if not (value.startswith('${') and value.endswith('}')): raise ValueError('{} is not a mako substitution in {}'.format(value, block_id)) - return match.group(1) if match else None + return value[2:-1].strip() |