diff options
author | Sebastian Koslowski <sebastian.koslowski@gmail.com> | 2020-07-20 19:41:11 +0200 |
---|---|---|
committer | Martin Braun <martin@gnuradio.org> | 2021-02-01 12:28:44 -0800 |
commit | ed1ba2c2bb78e64ee1c4f5b77841f1bedd667d81 (patch) | |
tree | 90bb1c779f776ebde6d5fb16d95783cec0373e3f | |
parent | a0faef10ee3691719ea17e5377a0d28f186a5cb4 (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.py | 17 | ||||
-rw-r--r-- | grc/core/generator/top_block.py | 2 |
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 = { |