[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] [gnuradio] 30/43: grc: clean-up 'gnuradio-companion',
From: |
git |
Subject: |
[Commit-gnuradio] [gnuradio] 30/43: grc: clean-up 'gnuradio-companion', add mode 'run from source' |
Date: |
Thu, 2 Apr 2015 19:15:52 +0000 (UTC) |
This is an automated email from the git hooks/post-receive script.
jcorgan pushed a commit to branch master
in repository gnuradio.
commit 077348c40d7b4384d773c89041f0e4f6c25d7116
Author: Sebastian Koslowski <address@hidden>
Date: Thu Apr 2 11:23:43 2015 +0200
grc: clean-up 'gnuradio-companion', add mode 'run from source'
---
grc/gui/ActionHandler.py | 2 +-
grc/scripts/gnuradio-companion | 107 ++++++++++++++++++++++++++++-------------
2 files changed, 75 insertions(+), 34 deletions(-)
diff --git a/grc/gui/ActionHandler.py b/grc/gui/ActionHandler.py
index 55be5d0..116dff1 100644
--- a/grc/gui/ActionHandler.py
+++ b/grc/gui/ActionHandler.py
@@ -108,7 +108,7 @@ class ActionHandler:
def _handle_action(self, action):
#print action
##################################################
- # Initalize/Quit
+ # Initialize/Quit
##################################################
if action == Actions.APPLICATION_INITIALIZE:
for action in Actions.get_all_actions():
action.set_sensitive(False) #set all actions disabled
diff --git a/grc/scripts/gnuradio-companion b/grc/scripts/gnuradio-companion
index 6d45ecc..239fc95 100755
--- a/grc/scripts/gnuradio-companion
+++ b/grc/scripts/gnuradio-companion
@@ -1,6 +1,6 @@
#!/usr/bin/env python
"""
-Copyright 2009-2012 Free Software Foundation, Inc.
+Copyright 2009-2015 Free Software Foundation, Inc.
This file is part of GNU Radio
GNU Radio Companion is free software; you can redistribute it and/or
@@ -18,13 +18,16 @@ along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
"""
+import os
+import sys
+import optparse
+
import pygtk
pygtk.require('2.0')
import gtk
-try: from gnuradio import gr
-except ImportError, e:
- d = gtk.MessageDialog(type=gtk.MESSAGE_ERROR, buttons=gtk.BUTTONS_CLOSE,
message_format="""
+
+GR_IMPORT_ERROR_MESSAGE = """\
Cannot import gnuradio.
Is the python path environment variable set correctly?
@@ -34,39 +37,77 @@ Is the library path environment variable set correctly?
Linux: LD_LIBRARY_PATH
Windows: PATH
MacOSX: DYLD_LIBRARY_PATH
-""")
- d.set_title(str(e))
- d.run()
- exit(-1)
-
-from optparse import OptionParser
-import os
+"""
-if __name__ == "__main__":
- if ('GR_DONT_LOAD_PREFS' in os.environ.keys() and
- (not 'GRC_BLOCKS_PATH' in os.environ.keys() or
len(os.environ['GRC_BLOCKS_PATH']) == 0)):
- d = gtk.MessageDialog(
- type=gtk.MESSAGE_ERROR,
- buttons=gtk.BUTTONS_CLOSE,
- message_format="""Can't find block definitions. Use config.conf or
GRC_BLOCKS_PATH. """)
- d.set_title("No block definitions available.")
- d.run()
- exit(-1)
- usage = 'usage: %prog [options] [saved flow graphs]'
- version = """
+VERSION_AND_DISCLAIMER_TEMPLATE = """\
GNU Radio Companion %s
This program is part of GNU Radio
GRC comes with ABSOLUTELY NO WARRANTY.
-This is free software,
-and you are welcome to redistribute it.
-"""%gr.version()
- parser = OptionParser(usage=usage, version=version)
- (options, args) = parser.parse_args()
- from gnuradio.grc.python.Platform import Platform
- from gnuradio.grc.gui.ActionHandler import ActionHandler
- #setup icon using icon theme
- try: gtk.window_set_default_icon(gtk.IconTheme().load_icon('gnuradio-grc',
256, 0))
- except: pass
+This is free software, and you are welcome to redistribute it.
+"""
+
+
+def show_gtk_error_dialog(title, message):
+ d = gtk.MessageDialog(type=gtk.MESSAGE_ERROR, buttons=gtk.BUTTONS_CLOSE,
+ message_format=message)
+ d.set_title(title)
+ d.run()
+
+
+def check_gnuradio_import():
+ try:
+ from gnuradio import gr
+ except ImportError as e:
+ show_gtk_error_dialog(str(e), GR_IMPORT_ERROR_MESSAGE)
+ exit(-1)
+
+
+def ensure_blocks_path():
+ if 'GR_DONT_LOAD_PREFS' in os.environ and not
os.environ.get('GRC_BLOCKS_PATH', ''):
+ show_gtk_error_dialog(
+ title="No block definitions available.",
+ message="Can't find block definitions. Use config.conf or
GRC_BLOCKS_PATH."
+ )
+ exit(-1)
+
+
+def get_source_tree_root():
+ source_tree_subpath = "/grc/scripts"
+ script_path = os.path.dirname(__file__)
+ if script_path.endswith(source_tree_subpath):
+ return script_path[:-len(source_tree_subpath)]
+
+
+def main():
+ from gnuradio import gr
+
+ parser = optparse.OptionParser(
+ usage='usage: %prog [options] [saved flow graphs]',
+ version=VERSION_AND_DISCLAIMER_TEMPLATE % gr.version())
+ options, args = parser.parse_args()
+
+ source_tree_root = get_source_tree_root()
+ if not source_tree_root:
+ # run the installed version
+ from gnuradio.grc.python.Platform import Platform
+ from gnuradio.grc.gui.ActionHandler import ActionHandler
+
+ else:
+ print("Running from source tree")
+ sys.path.insert(1, source_tree_root)
+ from grc.python.Platform import Platform
+ from grc.gui.ActionHandler import ActionHandler
+
+ try:
+ gtk.window_set_default_icon(gtk.IconTheme().load_icon('gnuradio-grc',
256, 0))
+ except:
+ pass
+
ActionHandler(args, Platform())
+
+if __name__ == '__main__':
+ check_gnuradio_import()
+ ensure_blocks_path()
+ main()
- [Commit-gnuradio] [gnuradio] 07/43: gnuradio-runtime: non-helpful debug outputs removed from hier_block2 and hier_block2_detail, (continued)
- [Commit-gnuradio] [gnuradio] 07/43: gnuradio-runtime: non-helpful debug outputs removed from hier_block2 and hier_block2_detail, git, 2015/04/02
- [Commit-gnuradio] [gnuradio] 27/43: grc: optional thread-safe setters in generated code (#748), git, 2015/04/02
- [Commit-gnuradio] [gnuradio] 19/43: gnuradio-runtime: added logger to flat_flowgraph and print out a warning for when the max_output_buffer isn't set to the requested value, git, 2015/04/02
- [Commit-gnuradio] [gnuradio] 28/43: grc: don't try to open missing files, git, 2015/04/02
- [Commit-gnuradio] [gnuradio] 01/43: gnuradio-runtime: trying to see if this will handle the output buffer size of hier blocks; trying to find the proper casting methods, git, 2015/04/02
- [Commit-gnuradio] [gnuradio] 10/43: fec: cleaning up LDPC warnings, git, 2015/04/02
- [Commit-gnuradio] [gnuradio] 18/43: fec: ldpc works, add iterations meta tag, etc, git, 2015/04/02
- [Commit-gnuradio] [gnuradio] 34/43: Merge remote-tracking branch 'saikwolf/logging_flat_flowgraph', git, 2015/04/02
- [Commit-gnuradio] [gnuradio] 03/43: gnuradio-runtime:: removed the individual port setting on hier_block2, current operation assuming the buffers are being set for latency and therefore all blocks are being set to a small amount, git, 2015/04/02
- [Commit-gnuradio] [gnuradio] 11/43: fec: LDPC cleaning up comments, git, 2015/04/02
- [Commit-gnuradio] [gnuradio] 30/43: grc: clean-up 'gnuradio-companion', add mode 'run from source',
git <=
- [Commit-gnuradio] [gnuradio] 12/43: fec: re-shuffling LDPC make helper, git, 2015/04/02
- [Commit-gnuradio] [gnuradio] 31/43: grc: PropsDialog: apply button and hotkey (Ctrl+Enter), git, 2015/04/02
- [Commit-gnuradio] [gnuradio] 40/43: fec: Move the definition of yp_kernel from the class into a temp variable in the main code. This variable is used just to find the actual Volk kernel, and its current use is not c++11 complaint. Moving it makes the code c++11 complaint on both GCC / libstdc++ and Clang / libc++., git, 2015/04/02
- [Commit-gnuradio] [gnuradio] 35/43: Merge remote-tracking branch 'osh/ldpc_add', git, 2015/04/02
- [Commit-gnuradio] [gnuradio] 20/43: grc: Reworked save confirmation dialog to allow cancel option, git, 2015/04/02
- [Commit-gnuradio] [gnuradio] 42/43: Merge remote-tracking branch 'michaelld/misc_fixes', git, 2015/04/02
- [Commit-gnuradio] [gnuradio] 29/43: grc: move context def into Bars.py and add submenu, git, 2015/04/02
- [Commit-gnuradio] [gnuradio] 14/43: gnuradio-runtime: modified buffer length types to size_t, moved buffer length vectors into detail, git, 2015/04/02
- [Commit-gnuradio] [gnuradio] 22/43: grc: close unsaved pages first (for cancel save option), git, 2015/04/02
- [Commit-gnuradio] [gnuradio] 13/43: fec: ldpc GRC compat cleanup, git, 2015/04/02