From 3232eeb534b5ac1ab503f7f36254227b1cfba1f9 Mon Sep 17 00:00:00 2001 From: Josh Morman <jmorman@perspectalabs.com> Date: Fri, 30 Aug 2019 09:47:42 -0400 Subject: grc: add python snippets to GRC This feature adds the ability to insert arbitrary code into the python flowgraph. It gives a little more low-level flexibility for quickly modifying flowgraphs and adding custom bits of code rather than having to go and edit the generated py file One example is synchronizing multiple USRP objects - sometimes you want different sync than what is offered in the multi-usrp object, so you can put a bit of code in the snippet block to do the custom synchronization --- grc/core/params/param.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'grc/core/params/param.py') diff --git a/grc/core/params/param.py b/grc/core/params/param.py index 816588efe2..ef8d7df291 100644 --- a/grc/core/params/param.py +++ b/grc/core/params/param.py @@ -245,9 +245,13 @@ class Param(Element): elif dtype in ('string', 'file_open', 'file_save', '_multiline', '_multiline_python_external'): # Do not check if file/directory exists, that is a runtime issue try: - value = self.parent_flowgraph.evaluate(expr) - if not isinstance(value, str): - raise Exception() + # Do not evaluate multiline strings (code snippets or comments) + if dtype not in ['_multiline','_multiline_python_external']: + value = self.parent_flowgraph.evaluate(expr) + if not isinstance(value, str): + raise Exception() + else: + value = str(expr) except Exception: self._stringify_flag = True value = str(expr) -- cgit v1.2.3