/usr/bin/gnuradio-companion is in gnuradio 3.7.9.1-2ubuntu1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | #!/usr/bin/python
"""
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
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
GNU Radio Companion is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
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 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()
|