diff options
Diffstat (limited to 'gr-utils/src/python/gr_modtool')
-rwxr-xr-x | gr-utils/src/python/gr_modtool | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/gr-utils/src/python/gr_modtool b/gr-utils/src/python/gr_modtool new file mode 100755 index 000000000..bc41d56f5 --- /dev/null +++ b/gr-utils/src/python/gr_modtool @@ -0,0 +1,61 @@ +#!/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. +# +""" A tool for editing GNU Radio out-of-tree modules. """ + +import sys +from gnuradio.modtool import * + +def get_class_dict(): + " Return a dictionary of the available commands in the form command->class " + classdict = {} + for g in globals().values(): + try: + if issubclass(g, ModTool): + classdict[g.name] = g + for a in g.aliases: + classdict[a] = g + except (TypeError, AttributeError): + pass + return classdict + + +### Main code ################################################################ +def main(): + """ Here we go. Parse command, choose class and run. """ + cmd_dict = get_class_dict() + command = get_command_from_argv(cmd_dict.keys()) + if command is None: + print 'Usage:' + templates.Templates['usage'] + exit(2) + modtool = cmd_dict[command]() + modtool.setup() + modtool.run() + +if __name__ == '__main__': + if not ((sys.version_info[0] > 2) or + (sys.version_info[0] == 2 and sys.version_info[1] >= 7)): + print "Using Python < 2.7 is not recommended for gr_modtool." + try: + main() + except KeyboardInterrupt: + pass + |