From ed1ba2c2bb78e64ee1c4f5b77841f1bedd667d81 Mon Sep 17 00:00:00 2001
From: Sebastian Koslowski <sebastian.koslowski@gmail.com>
Date: Mon, 20 Jul 2020 19:41:11 +0200
Subject: grc: prefix generated modules with flowgraph id

...so they play nice with epy modules generated from other fg in the same dir
---
 grc/core/blocks/embedded_python.py | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)

(limited to 'grc/core/blocks/embedded_python.py')

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)
-- 
cgit v1.2.3