summaryrefslogtreecommitdiff
path: root/grc/core/blocks/embedded_python.py
diff options
context:
space:
mode:
authorSebastian Koslowski <sebastian.koslowski@gmail.com>2020-07-20 19:41:11 +0200
committerMartin Braun <martin@gnuradio.org>2021-02-01 12:28:44 -0800
commited1ba2c2bb78e64ee1c4f5b77841f1bedd667d81 (patch)
tree90bb1c779f776ebde6d5fb16d95783cec0373e3f /grc/core/blocks/embedded_python.py
parenta0faef10ee3691719ea17e5377a0d28f186a5cb4 (diff)
grc: prefix generated modules with flowgraph id
...so they play nice with epy modules generated from other fg in the same dir
Diffstat (limited to 'grc/core/blocks/embedded_python.py')
-rw-r--r--grc/core/blocks/embedded_python.py17
1 files changed, 13 insertions, 4 deletions
diff --git a/grc/core/blocks/embedded_python.py b/grc/core/blocks/embedded_python.py
index 9ade525c0b..c5b3cf0d36 100644
--- a/grc/core/blocks/embedded_python.py
+++ b/grc/core/blocks/embedded_python.py
@@ -85,6 +85,7 @@ class EPyBlock(Block):
super(EPyBlock, self).__init__(flow_graph, **kwargs)
self.states['_io_cache'] = ''
+ self.module_name = self.name
self._epy_source_hash = -1
self._epy_reload_error = None
@@ -120,7 +121,9 @@ class EPyBlock(Block):
self.label = blk_io.name or blk_io.cls
self.documentation = {'': blk_io.doc}
- self.templates['imports'] = 'import ' + self.name
+ self.module_name = "{}_{}".format(self.parent_flowgraph.get_option("id"), self.name)
+ self.templates['imports'] = 'import {} as {} # embedded python block'.format(
+ self.module_name, self.name)
self.templates['make'] = '{mod}.{cls}({args})'.format(
mod=self.name,
cls=blk_io.cls,
@@ -229,6 +232,12 @@ class EPyModule(Block):
], have_inputs=False, have_outputs=False, flags=flags, block_id=key
)
- templates = MakoTemplates(
- imports='import ${ id } # embedded python module',
- )
+ def __init__(self, flow_graph, **kwargs):
+ super(EPyModule, self).__init__(flow_graph, **kwargs)
+ self.module_name = self.name
+
+ def rewrite(self):
+ super(EPyModule, self).rewrite()
+ self.module_name = "{}_{}".format(self.parent_flowgraph.get_option("id"), self.name)
+ self.templates['imports'] = 'import {} as {} # embedded python module'.format(
+ self.module_name, self.name)