diff options
Diffstat (limited to 'grc/scripts/gnuradio-companion')
-rwxr-xr-x | grc/scripts/gnuradio-companion | 124 |
1 files changed, 16 insertions, 108 deletions
diff --git a/grc/scripts/gnuradio-companion b/grc/scripts/gnuradio-companion index 203a8c773d..04a1cb44e7 100755 --- a/grc/scripts/gnuradio-companion +++ b/grc/scripts/gnuradio-companion @@ -1,6 +1,6 @@ #!/usr/bin/env python """ -Copyright 2009-2015 Free Software Foundation, Inc. +Copyright 2016 Free Software Foundation, Inc. This file is part of GNU Radio GNU Radio Companion is free software; you can redistribute it and/or @@ -20,111 +20,19 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA import os import sys -import optparse -import warnings - -GR_IMPORT_ERROR_MESSAGE = """\ -Cannot import gnuradio. - -Is the python path environment variable set correctly? - All OS: PYTHONPATH - -Is the library path environment variable set correctly? - Linux: LD_LIBRARY_PATH - Windows: PATH - MacOSX: DYLD_LIBRARY_PATH -""" - -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. -""" - - -def die(error, message): - msg = "{0}\n\n({1})".format(message, error) - try: - import gtk - d = gtk.MessageDialog( - type=gtk.MESSAGE_ERROR, - buttons=gtk.BUTTONS_CLOSE, - message_format=msg, - ) - d.set_title(type(error).__name__) - d.run() - exit(1) - except ImportError: - exit(type(error).__name__ + '\n\n' + msg) - - -def check_gtk(): - try: - warnings.filterwarnings("error") - import pygtk - pygtk.require('2.0') - import gtk - gtk.init_check() - warnings.filterwarnings("always") - except Exception as err: - die(err, "Failed to initialize GTK. If you are running over ssh, " - "did you enable X forwarding and start ssh with -X?") - - -def check_gnuradio_import(): - try: - from gnuradio import gr - except ImportError as err: - die(err, GR_IMPORT_ERROR_MESSAGE) - - -def check_blocks_path(): - if 'GR_DONT_LOAD_PREFS' in os.environ and not os.environ.get('GRC_BLOCKS_PATH', ''): - die(EnvironmentError("No block definitions available"), - "Can't find block definitions. Use config.conf or GRC_BLOCKS_PATH.") - - -def get_source_tree_root(): - source_tree_subpath = "/grc/scripts" - script_path = os.path.dirname(os.path.abspath(__file__)) - if script_path.endswith(source_tree_subpath): - return script_path[:-len(source_tree_subpath)] - - -def main(): - check_gnuradio_import() - - 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() - - check_gtk() - check_blocks_path() - 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: - import gtk - gtk.window_set_default_icon(gtk.IconTheme().load_icon('gnuradio-grc', 256, 0)) - except: - pass - - ActionHandler(args, Platform()) - - -if __name__ == '__main__': - main() +script_path = os.path.dirname(os.path.abspath(__file__)) +source_tree_subpath = "/grc/scripts" + +if not script_path.endswith(source_tree_subpath): + # run the installed version + from gnuradio.grc.main import main + from gnuradio.grc import checks +else: + print("Running from source tree") + sys.path.insert(1, script_path[:-len(source_tree_subpath)]) + from grc.main import main + from grc import checks + +checks.do_all() +exit(main()) |