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_rename.py | |
parent | 896d1c9da31963ecf5b0d90942c2af51ca998a69 (diff) | |
parent | 5ad935c3a3dd46ce2860b13e2b774e4841784616 (diff) |
Merge remote-tracking branch 'origin/next' into merge_next
Diffstat (limited to 'gr-utils/python/modtool/modtool_rename.py')
-rw-r--r-- | gr-utils/python/modtool/modtool_rename.py | 76 |
1 files changed, 38 insertions, 38 deletions
diff --git a/gr-utils/python/modtool/modtool_rename.py b/gr-utils/python/modtool/modtool_rename.py index dd9b0eaee8..4af860b5d4 100644 --- a/gr-utils/python/modtool/modtool_rename.py +++ b/gr-utils/python/modtool/modtool_rename.py @@ -20,16 +20,22 @@ # """ Module to rename blocks """ +from __future__ import print_function +from __future__ import absolute_import +from __future__ import unicode_literals + import os import re -from optparse import OptionGroup -from modtool_base import ModTool, ModToolException +from .util_functions import append_re_line_sequence, ask_yes_no +from .cmakefile_editor import CMakeFileEditor +from .modtool_base import ModTool, ModToolException +from .templates import Templates class ModToolRename(ModTool): """ Rename a block in the out-of-tree module. """ name = 'rename' - aliases = ('mv',) + description = 'Rename block inside module.' def __init__(self): ModTool.__init__(self) @@ -38,53 +44,47 @@ class ModToolRename(ModTool): self._skip_cmakefiles = False self._license_file = None - def setup_parser(self): - parser = ModTool.setup_parser(self) - ogroup = OptionGroup(parser, "Rename module options") - ogroup.add_option("-o", "--old-name", type="string", default=None, - help="Current name of the block to rename.") - ogroup.add_option("-u", "--new-name", type="string", default=None, - help="New name of the block.") - parser.add_option_group(ogroup) + @staticmethod + def setup_parser(parser): + #parser = parser.add_argument_group(title="Rename module options") + ModTool.setup_parser_block(parser) + parser.add_argument("new_name", nargs="?", metavar='NEW-BLOCK-NAME', + help="New name of the block.") return parser - def setup(self, options, args): - ModTool.setup(self, options, args) + def setup(self, options): + ModTool.setup(self, options) if ((self._skip_subdirs['lib'] and self._info['lang'] == 'cpp') or (self._skip_subdirs['python'] and self._info['lang'] == 'python')): raise ModToolException('Missing or skipping relevant subdir.') # first make sure the old block name is provided - self._info['oldname'] = options.old_name + self._info['oldname'] = options.blockname if self._info['oldname'] is None: - if len(args) >= 2: - self._info['oldname'] = args[1] - else: - self._info['oldname'] = raw_input("Enter name of block/code to rename (without module name prefix): ") + self._info['oldname'] = input("Enter name of block/code to rename (without module name prefix): ") if not re.match('[a-zA-Z0-9_]+', self._info['oldname']): raise ModToolException('Invalid block name.') - print "Block/code to rename identifier: " + self._info['oldname'] + print("Block/code to rename identifier: " + self._info['oldname']) self._info['fulloldname'] = self._info['modname'] + '_' + self._info['oldname'] # now get the new block name - self._info['newname'] = options.new_name - if self._info['newname'] is None: - if len(args) >= 2: - self._info['newname'] = args[2] - else: - self._info['newname'] = raw_input("Enter name of block/code (without module name prefix): ") + if options.new_name is None: + self._info['newname'] = input("Enter name of block/code (without module name prefix): ") + else: + self._info['newname'] = options.new_name[0] if not re.match('[a-zA-Z0-9_]+', self._info['newname']): raise ModToolException('Invalid block name.') - print "Block/code identifier: " + self._info['newname'] + print("Block/code identifier: " + self._info['newname']) self._info['fullnewname'] = self._info['modname'] + '_' + self._info['newname'] - def run(self): + def run(self, options): """ Go, go, go. """ + self.setup(options) module = self._info['modname'] oldname = self._info['oldname'] newname = self._info['newname'] - print "In module '%s' rename block '%s' to '%s'" % (module, oldname, newname) + print("In module '%s' rename block '%s' to '%s'" % (module, oldname, newname)) self._run_swig_rename(self._file['swig'], oldname, newname) self._run_grc_rename(self._info['modname'], oldname, newname) self._run_python_qa(self._info['modname'], oldname, newname) @@ -97,11 +97,11 @@ class ModToolRename(ModTool): """ Rename SWIG includes and block_magic """ nsubs = self._run_file_replace(swigfilename, old, new) if nsubs < 1: - print "Couldn't find '%s' in file '%s'." % (old, swigfilename) + print("Couldn't find '%s' in file '%s'." % (old, swigfilename)) if nsubs == 2: - print "Changing 'noblock' type file" + print("Changing 'noblock' type file") if nsubs > 3: - print "Hm, changed more then expected while editing %s." % swigfilename + print("Hm, changed more then expected while editing %s." % swigfilename) return False def _run_lib(self, module, old, new): @@ -121,7 +121,7 @@ class ModToolRename(ModTool): filename = 'qa_' + module + '.cc' nsubs = self._run_file_replace(path + filename, old, new) if nsubs > 0: - print "C++ QA code detected, renaming..." + print("C++ QA code detected, renaming...") filename = 'qa_' + old + '.cc' self._run_file_replace(path + filename, old, new) filename = 'qa_' + old + '.h' @@ -129,7 +129,7 @@ class ModToolRename(ModTool): self._run_file_replace(path + filename, old.upper(), new.upper()) self._run_file_rename(path, 'qa_' + old, 'qa_' + new) else: - print "No C++ QA code detected, skipping..." + print("No C++ QA code detected, skipping...") def _run_include(self, module, old, new): path = './include/' + module + '/' @@ -144,13 +144,13 @@ class ModToolRename(ModTool): filename = '__init__.py' nsubs = self._run_file_replace(path + filename, old, new) if nsubs > 0: - print "Python block detected, renaming..." + print("Python block detected, renaming...") filename = old + '.py' self._run_file_replace(path + filename, old, new) self._run_cmakelists(path, old, new) self._run_file_rename(path, old, new) else: - print "Not a Python block, nothing to do here..." + print("Not a Python block, nothing to do here...") def _run_python_qa(self, module, old, new): new = 'qa_' + new @@ -170,7 +170,7 @@ class ModToolRename(ModTool): filename = path + 'CMakeLists.txt' nsubs = self._run_file_replace(filename, first, second) if nsubs < 1: - print "'%s' wasn't in '%s'." % (first, filename) + print("'%s' wasn't in '%s'." % (first, filename)) def _run_file_rename(self, path, old, new): files = os.listdir(path) @@ -179,14 +179,14 @@ class ModToolRename(ModTool): nl = file.replace(old, new) src = path + file dst = path + nl - print "Renaming file '%s' to '%s'." % (src, dst) + print("Renaming file '%s' to '%s'." % (src, dst)) os.rename(src, dst) def _run_file_replace(self, filename, old, new): if not os.path.isfile(filename): return False else: - print "In '%s' renaming occurrences of '%s' to '%s'" % (filename, old, new) + print("In '%s' renaming occurrences of '%s' to '%s'" % (filename, old, new)) cfile = open(filename).read() (cfile, nsubs) = re.subn(old, new, cfile) |