[PATCH 14/17] patman: Rename Color() method to build()
Simon Glass
sjg at chromium.org
Sat Jan 29 22:14:17 CET 2022
This method has the same name as its class which is confusing. It is also
annoying when searching the code.
It builds a string with a colour, so rename it to build().
Signed-off-by: Simon Glass <sjg at chromium.org>
---
tools/binman/bintool.py | 8 ++++----
tools/buildman/builder.py | 24 ++++++++++++------------
tools/buildman/control.py | 28 ++++++++++++++--------------
tools/buildman/test.py | 20 ++++++++++----------
tools/buildman/toolchain.py | 10 +++++-----
tools/patman/checkpatch.py | 10 +++++-----
tools/patman/control.py | 6 +++---
tools/patman/gitutil.py | 6 +++---
tools/patman/series.py | 12 ++++++------
tools/patman/terminal.py | 14 +++++++-------
tools/patman/tout.py | 4 ++--
11 files changed, 71 insertions(+), 71 deletions(-)
diff --git a/tools/binman/bintool.py b/tools/binman/bintool.py
index 4bc3cfebce5..8435b29749b 100644
--- a/tools/binman/bintool.py
+++ b/tools/binman/bintool.py
@@ -174,7 +174,7 @@ class Bintool:
res = self.fetch(meth)
except urllib.error.URLError as uerr:
message = uerr.reason
- print(col.Color(col.RED, f'- {message}'))
+ print(col.build(col.RED, f'- {message}'))
except ValueError as exc:
print(f'Exception: {exc}')
@@ -182,7 +182,7 @@ class Bintool:
if skip_present and self.is_present():
return PRESENT
- print(col.Color(col.YELLOW, 'Fetch: %s' % self.name))
+ print(col.build(col.YELLOW, 'Fetch: %s' % self.name))
if method == FETCH_ANY:
for try_method in range(1, FETCH_COUNT):
print(f'- trying method: {FETCH_NAMES[try_method]}')
@@ -216,7 +216,7 @@ class Bintool:
True on success, False on failure
"""
def show_status(color, prompt, names):
- print(col.Color(
+ print(col.build(
color, f'{prompt}:%s{len(names):2}: %s' %
(' ' * (16 - len(prompt)), ' '.join(names))))
@@ -227,7 +227,7 @@ class Bintool:
name_list = Bintool.get_tool_list()
if names_to_fetch[0] == 'missing':
skip_present = True
- print(col.Color(col.YELLOW,
+ print(col.build(col.YELLOW,
'Fetching tools: %s' % ' '.join(name_list)))
status = collections.defaultdict(list)
for name in name_list:
diff --git a/tools/buildman/builder.py b/tools/buildman/builder.py
index 6687e1c41ca..4823ddb3079 100644
--- a/tools/buildman/builder.py
+++ b/tools/buildman/builder.py
@@ -507,14 +507,14 @@ class Builder:
# Display separate counts for ok, warned and fail
ok = self.upto - self.warned - self.fail
- line = '\r' + self.col.Color(self.col.GREEN, '%5d' % ok)
- line += self.col.Color(self.col.YELLOW, '%5d' % self.warned)
- line += self.col.Color(self.col.RED, '%5d' % self.fail)
+ line = '\r' + self.col.build(self.col.GREEN, '%5d' % ok)
+ line += self.col.build(self.col.YELLOW, '%5d' % self.warned)
+ line += self.col.build(self.col.RED, '%5d' % self.fail)
line += ' /%-5d ' % self.count
remaining = self.count - self.upto
if remaining:
- line += self.col.Color(self.col.MAGENTA, ' -%-5d ' % remaining)
+ line += self.col.build(self.col.MAGENTA, ' -%-5d ' % remaining)
else:
line += ' ' * 8
@@ -922,9 +922,9 @@ class Builder:
arch = board_dict[target].arch
else:
arch = 'unknown'
- str = self.col.Color(color, ' ' + target)
+ str = self.col.build(color, ' ' + target)
if not arch in done_arch:
- str = ' %s %s' % (self.col.Color(color, char), str)
+ str = ' %s %s' % (self.col.build(color, char), str)
done_arch[arch] = True
if not arch in arch_list:
arch_list[arch] = str
@@ -936,7 +936,7 @@ class Builder:
color = self.col.RED if num > 0 else self.col.GREEN
if num == 0:
return '0'
- return self.col.Color(color, str(num))
+ return self.col.build(color, str(num))
def ResetResultSummary(self, board_selected):
"""Reset the results summary ready for use.
@@ -999,7 +999,7 @@ class Builder:
args = [self.ColourNum(x) for x in args]
indent = ' ' * 15
Tprint('%s%s: add: %s/%s, grow: %s/%s bytes: %s/%s (%s)' %
- tuple([indent, self.col.Color(self.col.YELLOW, fname)] + args))
+ tuple([indent, self.col.build(self.col.YELLOW, fname)] + args))
Tprint('%s %-38s %7s %7s %+7s' % (indent, 'function', 'old', 'new',
'delta'))
for diff, name in delta:
@@ -1313,12 +1313,12 @@ class Builder:
names = [board.target for board in line.boards]
board_str = ' '.join(names) if names else ''
if board_str:
- out = self.col.Color(colour, line.char + '(')
- out += self.col.Color(self.col.MAGENTA, board_str,
+ out = self.col.build(colour, line.char + '(')
+ out += self.col.build(self.col.MAGENTA, board_str,
bright=False)
- out += self.col.Color(colour, ') %s' % line.errline)
+ out += self.col.build(colour, ') %s' % line.errline)
else:
- out = self.col.Color(colour, line.char + line.errline)
+ out = self.col.build(colour, line.char + line.errline)
out_list.append(out)
Tprint('\n'.join(out_list))
self._error_lines += 1
diff --git a/tools/buildman/control.py b/tools/buildman/control.py
index 619bd1abd8f..0d71596e46a 100644
--- a/tools/buildman/control.py
+++ b/tools/buildman/control.py
@@ -72,7 +72,7 @@ def ShowActions(series, why_selected, boards_selected, builder, options,
if commits:
for upto in range(0, len(series.commits), options.step):
commit = series.commits[upto]
- print(' ', col.Color(col.YELLOW, commit.hash[:8], bright=False), end=' ')
+ print(' ', col.build(col.YELLOW, commit.hash[:8], bright=False), end=' ')
print(commit.subject)
print()
for arg in why_selected:
@@ -84,7 +84,7 @@ def ShowActions(series, why_selected, boards_selected, builder, options,
len(why_selected['all'])))
if board_warnings:
for warning in board_warnings:
- print(col.Color(col.YELLOW, warning))
+ print(col.build(col.YELLOW, warning))
def ShowToolchainPrefix(boards, toolchains):
"""Show information about a the tool chain used by one or more boards
@@ -151,14 +151,14 @@ def DoBuildman(options, args, toolchains=None, make_func=None, boards=None,
if options.fetch_arch:
if options.fetch_arch == 'list':
sorted_list = toolchains.ListArchs()
- print(col.Color(col.BLUE, 'Available architectures: %s\n' %
+ print(col.build(col.BLUE, 'Available architectures: %s\n' %
' '.join(sorted_list)))
return 0
else:
fetch_arch = options.fetch_arch
if fetch_arch == 'all':
fetch_arch = ','.join(toolchains.ListArchs())
- print(col.Color(col.CYAN, '\nDownloading toolchains: %s' %
+ print(col.build(col.CYAN, '\nDownloading toolchains: %s' %
fetch_arch))
for arch in fetch_arch.split(','):
print()
@@ -176,11 +176,11 @@ def DoBuildman(options, args, toolchains=None, make_func=None, boards=None,
return 0
if options.incremental:
- print(col.Color(col.RED,
+ print(col.build(col.RED,
'Warning: -I has been removed. See documentation'))
if not options.output_dir:
if options.work_in_output:
- sys.exit(col.Color(col.RED, '-w requires that you specify -o'))
+ sys.exit(col.build(col.RED, '-w requires that you specify -o'))
options.output_dir = '..'
# Work out what subset of the boards we are building
@@ -217,12 +217,12 @@ def DoBuildman(options, args, toolchains=None, make_func=None, boards=None,
requested_boards)
selected = boards.GetSelected()
if not len(selected):
- sys.exit(col.Color(col.RED, 'No matching boards found'))
+ sys.exit(col.build(col.RED, 'No matching boards found'))
if options.print_prefix:
err = ShowToolchainPrefix(boards, toolchains)
if err:
- sys.exit(col.Color(col.RED, err))
+ sys.exit(col.build(col.RED, err))
return 0
# Work out how many commits to build. We want to build everything on the
@@ -241,24 +241,24 @@ def DoBuildman(options, args, toolchains=None, make_func=None, boards=None,
count, msg = gitutil.count_commits_in_branch(options.git_dir,
options.branch)
if count is None:
- sys.exit(col.Color(col.RED, msg))
+ sys.exit(col.build(col.RED, msg))
elif count == 0:
- sys.exit(col.Color(col.RED, "Range '%s' has no commits" %
+ sys.exit(col.build(col.RED, "Range '%s' has no commits" %
options.branch))
if msg:
- print(col.Color(col.YELLOW, msg))
+ print(col.build(col.YELLOW, msg))
count += 1 # Build upstream commit also
if not count:
str = ("No commits found to process in branch '%s': "
"set branch's upstream or use -c flag" % options.branch)
- sys.exit(col.Color(col.RED, str))
+ sys.exit(col.build(col.RED, str))
if options.work_in_output:
if len(selected) != 1:
- sys.exit(col.Color(col.RED,
+ sys.exit(col.build(col.RED,
'-w can only be used with a single board'))
if count != 1:
- sys.exit(col.Color(col.RED,
+ sys.exit(col.build(col.RED,
'-w can only be used with a single commit'))
# Read the metadata from the commits. First look at the upstream commit,
diff --git a/tools/buildman/test.py b/tools/buildman/test.py
index 4f39e12ea09..62f7287df43 100644
--- a/tools/buildman/test.py
+++ b/tools/buildman/test.py
@@ -181,10 +181,10 @@ class TestBuild(unittest.TestCase):
col.YELLOW if outcome == OUTCOME_WARN else col.RED)
expect = '%10s: ' % arch
# TODO(sjg at chromium.org): If plus is '', we shouldn't need this
- expect += ' ' + col.Color(expected_colour, plus)
+ expect += ' ' + col.build(expected_colour, plus)
expect += ' '
for board in boards:
- expect += col.Color(expected_colour, ' %s' % board)
+ expect += col.build(expected_colour, ' %s' % board)
self.assertEqual(text, expect)
def _SetupTest(self, echo_lines=False, threads=1, **kwdisplay_args):
@@ -253,12 +253,12 @@ class TestBuild(unittest.TestCase):
new_lines = []
for line in lines:
if boards:
- expect = self._col.Color(colour, prefix + '(')
- expect += self._col.Color(self._col.MAGENTA, boards,
+ expect = self._col.build(colour, prefix + '(')
+ expect += self._col.build(self._col.MAGENTA, boards,
bright=False)
- expect += self._col.Color(colour, ') %s' % line)
+ expect += self._col.build(colour, ') %s' % line)
else:
- expect = self._col.Color(colour, prefix + line)
+ expect = self._col.build(colour, prefix + line)
new_lines.append(expect)
return '\n'.join(new_lines)
@@ -316,12 +316,12 @@ class TestBuild(unittest.TestCase):
self.assertEqual(next(lines).text, '04: %s' % commits[3][1])
if filter_migration_warnings:
expect = '%10s: ' % 'powerpc'
- expect += ' ' + col.Color(col.GREEN, '')
+ expect += ' ' + col.build(col.GREEN, '')
expect += ' '
- expect += col.Color(col.GREEN, ' %s' % 'board2')
- expect += ' ' + col.Color(col.YELLOW, 'w+')
+ expect += col.build(col.GREEN, ' %s' % 'board2')
+ expect += ' ' + col.build(col.YELLOW, 'w+')
expect += ' '
- expect += col.Color(col.YELLOW, ' %s' % 'board3')
+ expect += col.build(col.YELLOW, ' %s' % 'board3')
self.assertEqual(next(lines).text, expect)
else:
self.assertSummary(next(lines).text, 'powerpc', 'w+',
diff --git a/tools/buildman/toolchain.py b/tools/buildman/toolchain.py
index 3442d998abf..46a4e5ed409 100644
--- a/tools/buildman/toolchain.py
+++ b/tools/buildman/toolchain.py
@@ -381,7 +381,7 @@ class Toolchains:
def List(self):
"""List out the selected toolchains for each architecture"""
col = terminal.Color()
- print(col.Color(col.BLUE, 'List of available toolchains (%d):' %
+ print(col.build(col.BLUE, 'List of available toolchains (%d):' %
len(self.toolchains)))
if len(self.toolchains):
for key, value in sorted(self.toolchains.items()):
@@ -559,7 +559,7 @@ class Toolchains:
"""
# Fist get the URL for this architecture
col = terminal.Color()
- print(col.Color(col.BLUE, "Downloading toolchain for arch '%s'" % arch))
+ print(col.build(col.BLUE, "Downloading toolchain for arch '%s'" % arch))
url = self.LocateArchUrl(arch)
if not url:
print(("Cannot find toolchain for arch '%s' - use 'list' to list" %
@@ -574,7 +574,7 @@ class Toolchains:
tarfile, tmpdir = tools.download(url, '.buildman')
if not tarfile:
return 1
- print(col.Color(col.GREEN, 'Unpacking to: %s' % dest), end=' ')
+ print(col.build(col.GREEN, 'Unpacking to: %s' % dest), end=' ')
sys.stdout.flush()
path = self.Unpack(tarfile, dest)
os.remove(tarfile)
@@ -582,14 +582,14 @@ class Toolchains:
print()
# Check that the toolchain works
- print(col.Color(col.GREEN, 'Testing'))
+ print(col.build(col.GREEN, 'Testing'))
dirpath = os.path.join(dest, path)
compiler_fname_list = self.ScanPath(dirpath, True)
if not compiler_fname_list:
print('Could not locate C compiler - fetch failed.')
return 1
if len(compiler_fname_list) != 1:
- print(col.Color(col.RED, 'Warning, ambiguous toolchains: %s' %
+ print(col.build(col.RED, 'Warning, ambiguous toolchains: %s' %
', '.join(compiler_fname_list)))
toolchain = Toolchain(compiler_fname_list[0], True, True)
diff --git a/tools/patman/checkpatch.py b/tools/patman/checkpatch.py
index 043419089a8..dd792efee0b 100644
--- a/tools/patman/checkpatch.py
+++ b/tools/patman/checkpatch.py
@@ -228,11 +228,11 @@ def get_warning_msg(col, msg_type, fname, line, msg):
msg: Message to report
'''
if msg_type == 'warning':
- msg_type = col.Color(col.YELLOW, msg_type)
+ msg_type = col.build(col.YELLOW, msg_type)
elif msg_type == 'error':
- msg_type = col.Color(col.RED, msg_type)
+ msg_type = col.build(col.RED, msg_type)
elif msg_type == 'check':
- msg_type = col.Color(col.MAGENTA, msg_type)
+ msg_type = col.build(col.MAGENTA, msg_type)
line_str = '' if line is None else '%d' % line
return '%s:%s: %s: %s\n' % (fname, line_str, msg_type, msg)
@@ -248,7 +248,7 @@ def check_patches(verbose, args):
warning_count += result.warnings
check_count += result.checks
print('%d errors, %d warnings, %d checks for %s:' % (result.errors,
- result.warnings, result.checks, col.Color(col.BLUE, fname)))
+ result.warnings, result.checks, col.build(col.BLUE, fname)))
if (len(result.problems) != result.errors + result.warnings +
result.checks):
print("Internal error: some problems lost")
@@ -266,6 +266,6 @@ def check_patches(verbose, args):
color = col.YELLOW
if error_count:
color = col.RED
- print(col.Color(color, str % (error_count, warning_count, check_count)))
+ print(col.build(color, str % (error_count, warning_count, check_count)))
return False
return True
diff --git a/tools/patman/control.py b/tools/patman/control.py
index cea4f3e770a..b40382388e0 100644
--- a/tools/patman/control.py
+++ b/tools/patman/control.py
@@ -50,7 +50,7 @@ def prepare_patches(col, branch, count, start, end, ignore_binary, signoff):
if not count:
str = 'No commits found to process - please use -c flag, or run:\n' \
' git branch --set-upstream-to remote/branch'
- sys.exit(col.Color(col.RED, str))
+ sys.exit(col.build(col.RED, str))
# Read the metadata from the commits
to_do = count - end
@@ -143,13 +143,13 @@ def email_patches(col, series, cover_fname, patch_files, process_tags, its_a_go,
cc_file, in_reply_to=in_reply_to, thread=thread,
smtp_server=smtp_server)
else:
- print(col.Color(col.RED, "Not sending emails due to errors/warnings"))
+ print(col.build(col.RED, "Not sending emails due to errors/warnings"))
# For a dry run, just show our actions as a sanity check
if dry_run:
series.ShowActions(patch_files, cmd, process_tags)
if not its_a_go:
- print(col.Color(col.RED, "Email would not be sent"))
+ print(col.build(col.RED, "Email would not be sent"))
os.remove(cc_file)
diff --git a/tools/patman/gitutil.py b/tools/patman/gitutil.py
index 86972973249..ceaf2ce1504 100644
--- a/tools/patman/gitutil.py
+++ b/tools/patman/gitutil.py
@@ -404,7 +404,7 @@ def check_suppress_cc_config():
if suppresscc == 'all' or suppresscc == 'cccmd':
col = terminal.Color()
- print((col.Color(col.RED, "error") +
+ print((col.build(col.RED, "error") +
": git config sendemail.suppresscc set to %s\n" % (suppresscc)) +
" patman needs --cc-cmd to be run to set the cc list.\n" +
" Please run:\n" +
@@ -577,14 +577,14 @@ def lookup_email(lookup_name, alias=None, warn_on_error=True, level=0):
if warn_on_error:
raise OSError(msg)
else:
- print(col.Color(col.RED, msg))
+ print(col.build(col.RED, msg))
return out_list
if lookup_name:
if not lookup_name in alias:
msg = "Alias '%s' not found" % lookup_name
if warn_on_error:
- print(col.Color(col.RED, msg))
+ print(col.build(col.RED, msg))
return out_list
for item in alias[lookup_name]:
todo = lookup_email(item, alias, warn_on_error, level + 1)
diff --git a/tools/patman/series.py b/tools/patman/series.py
index 27dd3e1a7ed..891f2785342 100644
--- a/tools/patman/series.py
+++ b/tools/patman/series.py
@@ -118,11 +118,11 @@ class Series(dict):
# TODO: Colour the patches according to whether they passed checks
for upto in range(len(args)):
commit = self.commits[upto]
- print(col.Color(col.GREEN, ' %s' % args[upto]))
+ print(col.build(col.GREEN, ' %s' % args[upto]))
cc_list = list(self._generated_cc[commit.patch])
for email in sorted(set(cc_list) - to_set - cc_set):
if email == None:
- email = col.Color(col.YELLOW, "<alias '%s' not found>"
+ email = col.build(col.YELLOW, "<alias '%s' not found>"
% tag)
if email:
print(' Cc: ', email)
@@ -227,13 +227,13 @@ class Series(dict):
else:
if version > 1:
str = 'Change log missing for v%d' % version
- print(col.Color(col.RED, str))
+ print(col.build(col.RED, str))
for version in changes_copy:
str = 'Change log for unknown version v%d' % version
- print(col.Color(col.RED, str))
+ print(col.build(col.RED, str))
elif self.changes:
str = 'Change log exists, but no version is set'
- print(col.Color(col.RED, str))
+ print(col.build(col.RED, str))
def MakeCcFile(self, process_tags, cover_fname, warn_on_error,
add_maintainers, limit):
@@ -271,7 +271,7 @@ class Series(dict):
dir_list = [os.path.join(gitutil.get_top_level(), 'scripts')]
cc += get_maintainer.get_maintainer(dir_list, commit.patch)
for x in set(cc) & set(settings.bounces):
- print(col.Color(col.YELLOW, 'Skipping "%s"' % x))
+ print(col.build(col.YELLOW, 'Skipping "%s"' % x))
cc = list(set(cc) - set(settings.bounces))
if limit is not None:
cc = cc[:limit]
diff --git a/tools/patman/terminal.py b/tools/patman/terminal.py
index f76d2b17772..e72c55ba98e 100644
--- a/tools/patman/terminal.py
+++ b/tools/patman/terminal.py
@@ -64,7 +64,7 @@ def CalcAsciiLen(text):
Length of text, after skipping ANSI sequences
>>> col = Color(COLOR_ALWAYS)
- >>> text = col.Color(Color.RED, 'abc')
+ >>> text = col.build(Color.RED, 'abc')
>>> len(text)
14
>>> CalcAsciiLen(text)
@@ -73,7 +73,7 @@ def CalcAsciiLen(text):
>>> text += 'def'
>>> CalcAsciiLen(text)
6
- >>> text += col.Color(Color.RED, 'abc')
+ >>> text += col.build(Color.RED, 'abc')
>>> CalcAsciiLen(text)
9
"""
@@ -87,7 +87,7 @@ def TrimAsciiLen(text, size):
calculation.
>>> col = Color(COLOR_ALWAYS)
- >>> text = col.Color(Color.RED, 'abc')
+ >>> text = col.build(Color.RED, 'abc')
>>> len(text)
14
>>> CalcAsciiLen(TrimAsciiLen(text, 4))
@@ -97,7 +97,7 @@ def TrimAsciiLen(text, size):
>>> text += 'def'
>>> CalcAsciiLen(TrimAsciiLen(text, 4))
4
- >>> text += col.Color(Color.RED, 'ghi')
+ >>> text += col.build(Color.RED, 'ghi')
>>> CalcAsciiLen(TrimAsciiLen(text, 7))
7
"""
@@ -148,7 +148,7 @@ def Tprint(text='', newline=True, colour=None, limit_to_line=False, bright=True)
else:
if colour:
col = Color()
- text = col.Color(colour, text, bright=bright)
+ text = col.build(colour, text, bright=bright)
if newline:
print(text)
last_print_len = None
@@ -191,7 +191,7 @@ def EchoPrintTestLines():
for line in print_test_list:
if line.colour:
col = Color()
- print(col.Color(line.colour, line.text), end='')
+ print(col.build(line.colour, line.text), end='')
else:
print(line.text, end='')
if line.newline:
@@ -247,7 +247,7 @@ class Color(object):
return self.RESET
return ''
- def Color(self, color, text, bright=True):
+ def build(self, color, text, bright=True):
"""Returns text with conditionally added color escape sequences.
Keyword arguments:
diff --git a/tools/patman/tout.py b/tools/patman/tout.py
index 7eb555aaaea..ff0fd92afcc 100644
--- a/tools/patman/tout.py
+++ b/tools/patman/tout.py
@@ -64,7 +64,7 @@ def progress(msg, warning=False, trailer='...'):
_progress = msg + trailer
if stdout_is_tty:
col = _color.YELLOW if warning else _color.GREEN
- _stdout.write('\r' + _color.Color(col, _progress))
+ _stdout.write('\r' + _color.build(col, _progress))
_stdout.flush()
in_progress = True
else:
@@ -82,7 +82,7 @@ def _output(level, msg, color=None):
if verbose >= level:
clear_progress()
if color:
- msg = _color.Color(color, msg)
+ msg = _color.build(color, msg)
if level < NOTICE:
print(msg, file=sys.stderr)
else:
--
2.35.0.rc2.247.g8bbb082509-goog
More information about the U-Boot
mailing list