diff options
Diffstat (limited to 'gr-utils/python/utils/grcc')
-rwxr-xr-x | gr-utils/python/utils/grcc | 92 |
1 files changed, 0 insertions, 92 deletions
diff --git a/gr-utils/python/utils/grcc b/gr-utils/python/utils/grcc deleted file mode 100755 index b9bd1551b9..0000000000 --- a/gr-utils/python/utils/grcc +++ /dev/null @@ -1,92 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2012 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio 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 3, or (at your option) -# any later version. -# -# GNU Radio 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 GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. -# - -import os -import sys -from optparse import OptionParser -import warnings -warnings.simplefilter('ignore') - -from gnuradio import gr - -try: - from grc.core.Platform import Platform -except ImportError: - from gnuradio.grc.core.Platform import Platform - - -class GRCC: - def __init__(self, grcfile, out_dir): - self.out_dir = out_dir - self.platform = Platform( - prefs_file=gr.prefs(), - version=gr.version(), - version_parts=(gr.major_version(), gr.api_version(), gr.minor_version()) - ) - data = self.platform.parse_flow_graph(grcfile) - - self.fg = self.platform.get_new_flow_graph() - self.fg.import_data(data) - self.fg.grc_file_path = os.path.abspath(grcfile) - self.fg.validate() - - if not self.fg.is_valid(): - raise StandardError("\n\n".join( - ["Validation failed:"] + self.fg.get_error_messages() - )) - - self.gen = self.platform.Generator(self.fg, out_dir) - self.gen.write() - - def exec_program(self): - progname = self.fg.get_option('id') - os.system("{0}/{1}.py".format(self.out_dir, progname)) - - -def main(): - usage="%prog: [options] filename" - description = "Compiles a GRC file (.grc) into a GNU Radio Python program. The program is stored in ~/.grc_gnuradio by default, but this location can be changed with the -d option." - - parser = OptionParser(conflict_handler="resolve", usage=usage, description=description) - parser.add_option("-d", "--directory", type="string", default='{0}/.grc_gnuradio/'.format(os.environ["HOME"]), - help="Specify the directory to output the compile program [default=%default]") - parser.add_option("-e", "--execute", action="store_true", default=False, - help="Run the program after compiling [default=%default]") - (options, args) = parser.parse_args () - - if len(args) != 1: - sys.stderr.write("Please specify a GRC file name to compile.\n") - sys.exit(1) - - try: - g = GRCC(args[0], options.directory + "/") - except Exception as e: - sys.stderr.write(str(e) + "\n") - sys.stderr.write("Error during file compilation.\n") - sys.exit(1) - - if options.execute: - g.exec_program() - - -if __name__ == "__main__": - main() |