summaryrefslogtreecommitdiff
path: root/grc
diff options
context:
space:
mode:
Diffstat (limited to 'grc')
-rw-r--r--grc/blocks/options.xml14
-rw-r--r--grc/python/Generator.py14
2 files changed, 18 insertions, 10 deletions
diff --git a/grc/blocks/options.xml b/grc/blocks/options.xml
index 756a4cd3d3..34822f1ebe 100644
--- a/grc/blocks/options.xml
+++ b/grc/blocks/options.xml
@@ -178,6 +178,18 @@ part#slurp
</option>
<tab>Advanced</tab>
</param>
+ <param>
+ <name>Run Command</name>
+ <key>run_command</key>
+ <value>{python} -u {filename}</value>
+ <type>string</type>
+ <hide>#if $generate_options().startswith('hb')
+all#slurp
+#else
+part#slurp
+#end if</hide>
+ <tab>Advanced</tab>
+ </param>
<check>not $window_size or len($window_size) == 2</check>
<check>not $window_size or 300 &lt;= $(window_size)[0] &lt;= 4096</check>
<check>not $window_size or 300 &lt;= $(window_size)[1] &lt;= 4096</check>
@@ -206,5 +218,7 @@ To put hier blocks into the root category, enter / for the category.
The Max Number of Output is the maximum number of output items allowed for any block \
in the flowgraph; to disable this set the max_nouts equal to 0.\
Use this to adjust the maximum latency a flowgraph can exhibit.
+
+
</doc>
</block>
diff --git a/grc/python/Generator.py b/grc/python/Generator.py
index 3c687a2d64..d48be2f00e 100644
--- a/grc/python/Generator.py
+++ b/grc/python/Generator.py
@@ -21,6 +21,7 @@ import os
import sys
import subprocess
import tempfile
+import shlex
from distutils.spawn import find_executable
from Cheetah.Template import Template
@@ -120,20 +121,13 @@ class TopBlockGenerator(object):
Returns:
a popen object
"""
- # extract the path to the python executable
- python_exe = sys.executable
-
- # when using wx gui on mac os, execute with pythonw
- # using pythonw is not necessary anymore, disabled below
- # if self._generate_options == 'wx_gui' and 'darwin' in sys.platform.lower():
- # python_exe = 'pythonw'
-
def args_to_string(args):
"""Accounts for spaces in args"""
return ' '.join(repr(arg) if ' ' in arg else arg for arg in args)
- # setup the command args to run
- cmds = [python_exe, '-u', self.get_file_path()] # -u is unbuffered stdio
+ run_command = self._flow_graph.get_option('run_command')
+ cmds = shlex.split(run_command.format(python=sys.executable,
+ filename=self.get_file_path()))
# when in no gui mode on linux, use a graphical terminal (looks nice)
xterm_executable = find_executable(XTERM_EXECUTABLE)