summaryrefslogtreecommitdiff
path: root/grc/python/Generator.py
diff options
context:
space:
mode:
authorTom Rondeau2011-05-08 19:58:43 +0100
committerTom Rondeau2011-05-08 19:58:43 +0100
commita72bde633dda63c4471111894ca6b92a87318d5f (patch)
treec60e447e922b1a7076dd839ed8a94fcc9b665919 /grc/python/Generator.py
parentbdd0bd405c2ea645395917c1abb91c964210c4d9 (diff)
parent207a2ae73bd5d6cab201bb57ed8db64fd54cfd90 (diff)
downloadgnuradio-a72bde633dda63c4471111894ca6b92a87318d5f.tar.gz
gnuradio-a72bde633dda63c4471111894ca6b92a87318d5f.tar.bz2
gnuradio-a72bde633dda63c4471111894ca6b92a87318d5f.zip
Merge branch 'master' into 8psk
Diffstat (limited to 'grc/python/Generator.py')
-rw-r--r--grc/python/Generator.py20
1 files changed, 15 insertions, 5 deletions
diff --git a/grc/python/Generator.py b/grc/python/Generator.py
index b669fa65a..b31f0a009 100644
--- a/grc/python/Generator.py
+++ b/grc/python/Generator.py
@@ -18,14 +18,14 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
"""
import os
+import sys
import subprocess
import tempfile
from Cheetah.Template import Template
import expr_utils
from Constants import \
TOP_BLOCK_FILE_MODE, HIER_BLOCK_FILE_MODE, \
- HIER_BLOCKS_LIB_DIR, PYEXEC, \
- FLOW_GRAPH_TEMPLATE
+ HIER_BLOCKS_LIB_DIR, FLOW_GRAPH_TEMPLATE
import convert_hier
from .. gui import Messages
@@ -74,10 +74,20 @@ Add a Misc->Throttle block to your flow graph to avoid CPU congestion.''')
Execute this python flow graph.
@return a popen object
"""
- #execute
- cmds = [PYEXEC, '-u', self.get_file_path()] #-u is unbuffered stdio
- if self._generate_options == 'no_gui':
+ #extract the path to the python executable
+ python_exe = sys.executable
+
+ #when using wx gui on mac os, execute with pythonw
+ if self._generate_options == 'wx_gui' and 'darwin' in sys.platform.lower():
+ python_exe += 'w'
+
+ #setup the command args to run
+ cmds = [python_exe, '-u', self.get_file_path()] #-u is unbuffered stdio
+
+ #when in no gui mode on linux, use an xterm (looks nice)
+ if self._generate_options == 'no_gui' and 'linux' in sys.platform.lower():
cmds = ['xterm', '-e'] + cmds
+
p = subprocess.Popen(args=cmds, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=False, universal_newlines=True)
return p