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 /grc/core/blocks/embedded_python.py | |
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
Diffstat (limited to 'grc/core/blocks/embedded_python.py')
-rw-r--r-- | grc/core/blocks/embedded_python.py | 17 |
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) |