summaryrefslogtreecommitdiff
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
parenta0faef10ee3691719ea17e5377a0d28f186a5cb4 (diff)
grc: prefix generated modules with flowgraph id
...so they play nice with epy modules generated from other fg in the same dir
-rw-r--r--grc/core/blocks/embedded_python.py17
-rw-r--r--grc/core/generator/top_block.py2
2 files changed, 14 insertions, 5 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)
diff --git a/grc/core/generator/top_block.py b/grc/core/generator/top_block.py
index 5eb915ef3f..6653bc7ae0 100644
--- a/grc/core/generator/top_block.py
+++ b/grc/core/generator/top_block.py
@@ -110,7 +110,7 @@ class TopBlockGenerator(object):
else:
continue
- file_path = os.path.join(self.output_dir, block.name + ".py")
+ file_path = os.path.join(self.output_dir, block.module_name + ".py")
output.append((file_path, src))
self.namespace = {