summaryrefslogtreecommitdiff
path: root/grc/core/blocks/_build.py
diff options
context:
space:
mode:
authorSebastian Koslowski <sebastian.koslowski@gmail.com>2017-10-26 20:15:22 +0200
committerSebastian Koslowski <sebastian.koslowski@gmail.com>2017-11-08 19:30:41 +0100
commit1fa89b3704d7f476e4395eb9358d5a6d7642251b (patch)
treebb553275eff3b791a5ac4482ed0e8355d5fce0b1 /grc/core/blocks/_build.py
parent865e2586b4f34fce101d8aa4a240431273009b8c (diff)
grc: disable auto-conversion and implement json cache
Diffstat (limited to 'grc/core/blocks/_build.py')
-rw-r--r--grc/core/blocks/_build.py10
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()