diff options
author | Marcus Müller <marcus@hostalia.de> | 2018-08-31 23:02:22 +0200 |
---|---|---|
committer | Marcus Müller <marcus@hostalia.de> | 2018-08-31 23:02:22 +0200 |
commit | 254fe5e89403d4de1fa6663d09efdf946996aff3 (patch) | |
tree | 62877d7ac7fdedf6c397c51e22ac6f97eba97ddf /gr-utils/python/modtool/modtool_info.py | |
parent | 896d1c9da31963ecf5b0d90942c2af51ca998a69 (diff) | |
parent | 5ad935c3a3dd46ce2860b13e2b774e4841784616 (diff) |
Merge remote-tracking branch 'origin/next' into merge_next
Diffstat (limited to 'gr-utils/python/modtool/modtool_info.py')
-rw-r--r-- | gr-utils/python/modtool/modtool_info.py | 57 |
1 files changed, 29 insertions, 28 deletions
diff --git a/gr-utils/python/modtool/modtool_info.py b/gr-utils/python/modtool/modtool_info.py index 3380760725..bae6df36ed 100644 --- a/gr-utils/python/modtool/modtool_info.py +++ b/gr-utils/python/modtool/modtool_info.py @@ -1,4 +1,3 @@ -# # Copyright 2013 Free Software Foundation, Inc. # # This file is part of GNU Radio @@ -20,17 +19,20 @@ # """ Returns information about a module """ +from __future__ import print_function +from __future__ import absolute_import +from __future__ import unicode_literals + import os -from optparse import OptionGroup -from modtool_base import ModTool, ModToolException -from util_functions import get_modname +from .modtool_base import ModTool, ModToolException +from .util_functions import get_modname class ModToolInfo(ModTool): """ Return information about a given module """ name = 'info' - aliases = ('getinfo', 'inf') + description = 'Return informations about module.' def __init__(self): ModTool.__init__(self) @@ -38,26 +40,25 @@ class ModToolInfo(ModTool): self._python_readable = False self._suggested_dirs = None - def setup_parser(self): + @staticmethod + def setup_parser(parser): """ Initialise the option parser for 'gr_modtool info' """ - parser = ModTool.setup_parser(self) - parser.usage = '%prog info [options]. \n Call %prog without any options to run it interactively.' - ogroup = OptionGroup(parser, "Info options") - ogroup.add_option("--python-readable", action="store_true", default=None, - help="Return the output in a format that's easier to read for Python scripts.") - ogroup.add_option("--suggested-dirs", default=None, type="string", - help="Suggest typical include dirs if nothing better can be detected.") - parser.add_option_group(ogroup) + #args_group = parser.add_argument_group(title="Info options") + parser.add_argument("--python-readable", action="store_true", + help="Return the output in a format that's easier to read for Python scripts.") + parser.add_argument("--suggested-dirs", + help="Suggest typical include dirs if nothing better can be detected.") return parser - def setup(self, options, args): + def setup(self, options): # Won't call parent's setup(), because that's too chatty self._directory = options.directory self._python_readable = options.python_readable self._suggested_dirs = options.suggested_dirs - def run(self): + def run(self, options): """ Go, go, go! """ + self.setup(options) mod_info = dict() mod_info['base_dir'] = self._get_base_dir(self._directory) if mod_info['base_dir'] is None: @@ -72,7 +73,7 @@ class ModToolInfo(ModTool): ): self._info['version'] = '37' mod_info['version'] = self._info['version'] - if 'is_component' in self._info.keys() and self._info['is_component']: + if 'is_component' in list(self._info.keys()) and self._info['is_component']: mod_info['is_component'] = True mod_info['incdirs'] = [] mod_incl_dir = os.path.join(mod_info['base_dir'], 'include') @@ -85,7 +86,7 @@ class ModToolInfo(ModTool): mod_info['build_dir'] = build_dir mod_info['incdirs'] += self._get_include_dirs(mod_info) if self._python_readable: - print str(mod_info) + print(str(mod_info)) else: self._pretty_print(mod_info) @@ -108,7 +109,7 @@ class ModToolInfo(ModTool): If that hasn't happened, the build dir cannot be detected, unless it's called 'build', which is then assumed to be the build dir. """ base_build_dir = mod_info['base_dir'] - if 'is_component' in mod_info.keys(): + if 'is_component' in list(mod_info.keys()): (base_build_dir, rest_dir) = os.path.split(base_build_dir) has_build_dir = os.path.isdir(os.path.join(base_build_dir, 'build')) if (has_build_dir and os.path.isfile(os.path.join(base_build_dir, 'CMakeCache.txt'))): @@ -125,7 +126,7 @@ class ModToolInfo(ModTool): """ Figure out include dirs for the make process. """ inc_dirs = [] path_or_internal = {True: 'INTERNAL', - False: 'PATH'}['is_component' in mod_info.keys()] + False: 'PATH'}['is_component' in list(mod_info.keys())] try: cmakecache_fid = open(os.path.join(mod_info['build_dir'], 'CMakeCache.txt')) for line in cmakecache_fid: @@ -138,19 +139,19 @@ class ModToolInfo(ModTool): inc_dirs = [os.path.normpath(path) for path in self._suggested_dirs.split(':') if os.path.isdir(path)] return inc_dirs - def _pretty_print(self, mod_info): + def _pretty_print(elf, mod_info): """ Output the module info in human-readable format """ index_names = {'base_dir': 'Base directory', 'modname': 'Module name', 'is_component': 'Is GR component', 'build_dir': 'Build directory', 'incdirs': 'Include directories'} - for key in mod_info.keys(): + for key in list(mod_info.keys()): if key == 'version': - print " API version: %s" % { - '36': 'pre-3.7', - '37': 'post-3.7', - 'autofoo': 'Autotools (pre-3.5)' - }[mod_info['version']] + print(" API version: %s" % { + '36': 'pre-3.7', + '37': 'post-3.7', + 'autofoo': 'Autotools (pre-3.5)' + }[mod_info['version']]) else: - print '%19s: %s' % (index_names[key], mod_info[key]) + print('%19s: %s' % (index_names[key], mod_info[key])) |