summaryrefslogtreecommitdiff
path: root/grc
diff options
context:
space:
mode:
authorSebastian Koslowski <koslowski@kit.edu>2015-02-12 10:41:01 +0100
committerSebastian Koslowski <koslowski@kit.edu>2015-04-02 09:20:25 +0200
commita1e7743b33eb3cc2c94775e95e5fc436a4d3f7ae (patch)
tree73b214642429c91bf7fcf40efd29698e0972e7a8 /grc
parent15417bdd699beef1905dd94b66ac39444b96d70d (diff)
grc: use 'import' for grc-generated hier_blocks (#763)
Diffstat (limited to 'grc')
-rw-r--r--grc/python/Generator.py7
-rw-r--r--grc/python/flow_graph.tmpl8
2 files changed, 9 insertions, 6 deletions
diff --git a/grc/python/Generator.py b/grc/python/Generator.py
index a263679a8e..191ec18f35 100644
--- a/grc/python/Generator.py
+++ b/grc/python/Generator.py
@@ -219,8 +219,8 @@ class HierBlockGenerator(TopBlockGenerator):
"""
TopBlockGenerator.__init__(self, flow_graph, file_path)
self._mode = HIER_BLOCK_FILE_MODE
- self._file_name = self._flow_graph.get_option('id') + '.py'
- self._file_path = os.path.join(HIER_BLOCKS_LIB_DIR, self._file_name)
+ self._file_path = os.path.join(HIER_BLOCKS_LIB_DIR,
+ self._flow_graph.get_option('id') + '.py')
self._file_path_xml = self._file_path + '.xml'
def get_file_path_xml(self):
@@ -254,7 +254,8 @@ class HierBlockGenerator(TopBlockGenerator):
self._flow_graph.get_option('id').replace('_', ' ').title()
block_n['key'] = block_key
block_n['category'] = self._flow_graph.get_option('category')
- block_n['import'] = 'execfile(os.path.join(GRC_HIER_PATH, ' + repr(self._file_name) + '))'
+ block_n['import'] = "from {0} import {0} # grc-generated hier_block".format(
+ self._flow_graph.get_option('id'))
# make data
if parameters:
block_n['make'] = '{cls}(\n {kwargs},\n)'.format(
diff --git a/grc/python/flow_graph.tmpl b/grc/python/flow_graph.tmpl
index a0de5d12bd..41ab67ce5a 100644
--- a/grc/python/flow_graph.tmpl
+++ b/grc/python/flow_graph.tmpl
@@ -48,13 +48,15 @@ if __name__ == '__main__':
########################################################
##Create Imports
########################################################
-#if any("GRC_HIER_PATH" in imp for imp in $imports)
+#if any(imp.endswith("# grc-generated hier_block") for imp in $imports)
import os
-GRC_HIER_PATH = os.environ.get('GRC_HIER_PATH', os.path.expanduser('~/.grc_gnuradio'))
+import sys
+#set imports = $filter(lambda i: i not in ("import os", "import sys"), $imports)
+sys.path.append(os.environ.get('GRC_HIER_PATH', os.path.expanduser('~/.grc_gnuradio')))
#end if
#for $imp in $imports
-$imp
+$(imp.replace(" # grc-generated hier_block", ""))
#end for
########################################################