Format codebase with black and check formatting in CQ
Apply rules set by https://gerrit-review.googlesource.com/c/git-repo/+/362954/ across the codebase and fix any lingering errors caught
by flake8. Also check black formatting in run_tests (and CQ).
Bug: b/267675342
Change-Id: I972d77649dac351150dcfeb1cd1ad0ea2efc1956
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/363474
Reviewed-by: Mike Frysinger <vapier@google.com>
Tested-by: Gavin Mak <gavinmak@google.com>
Commit-Queue: Gavin Mak <gavinmak@google.com>
diff --git a/progress.py b/progress.py
index 526ce6c..d1a7c54 100644
--- a/progress.py
+++ b/progress.py
@@ -22,115 +22,136 @@
# This will erase all content in the current line (wherever the cursor is).
# It does not move the cursor, so this is usually followed by \r to move to
# column 0.
-CSI_ERASE_LINE = '\x1b[2K'
+CSI_ERASE_LINE = "\x1b[2K"
# This will erase all content in the current line after the cursor. This is
# useful for partial updates & progress messages as the terminal can display
# it better.
-CSI_ERASE_LINE_AFTER = '\x1b[K'
+CSI_ERASE_LINE_AFTER = "\x1b[K"
def duration_str(total):
- """A less noisy timedelta.__str__.
+ """A less noisy timedelta.__str__.
- The default timedelta stringification contains a lot of leading zeros and
- uses microsecond resolution. This makes for noisy output.
- """
- hours, rem = divmod(total, 3600)
- mins, secs = divmod(rem, 60)
- ret = '%.3fs' % (secs,)
- if mins:
- ret = '%im%s' % (mins, ret)
- if hours:
- ret = '%ih%s' % (hours, ret)
- return ret
+ The default timedelta stringification contains a lot of leading zeros and
+ uses microsecond resolution. This makes for noisy output.
+ """
+ hours, rem = divmod(total, 3600)
+ mins, secs = divmod(rem, 60)
+ ret = "%.3fs" % (secs,)
+ if mins:
+ ret = "%im%s" % (mins, ret)
+ if hours:
+ ret = "%ih%s" % (hours, ret)
+ return ret
class Progress(object):
- def __init__(self, title, total=0, units='', print_newline=False, delay=True,
- quiet=False):
- self._title = title
- self._total = total
- self._done = 0
- self._start = time()
- self._show = not delay
- self._units = units
- self._print_newline = print_newline
- # Only show the active jobs section if we run more than one in parallel.
- self._show_jobs = False
- self._active = 0
+ def __init__(
+ self,
+ title,
+ total=0,
+ units="",
+ print_newline=False,
+ delay=True,
+ quiet=False,
+ ):
+ self._title = title
+ self._total = total
+ self._done = 0
+ self._start = time()
+ self._show = not delay
+ self._units = units
+ self._print_newline = print_newline
+ # Only show the active jobs section if we run more than one in parallel.
+ self._show_jobs = False
+ self._active = 0
- # When quiet, never show any output. It's a bit hacky, but reusing the
- # existing logic that delays initial output keeps the rest of the class
- # clean. Basically we set the start time to years in the future.
- if quiet:
- self._show = False
- self._start += 2**32
+ # When quiet, never show any output. It's a bit hacky, but reusing the
+ # existing logic that delays initial output keeps the rest of the class
+ # clean. Basically we set the start time to years in the future.
+ if quiet:
+ self._show = False
+ self._start += 2**32
- def start(self, name):
- self._active += 1
- if not self._show_jobs:
- self._show_jobs = self._active > 1
- self.update(inc=0, msg='started ' + name)
+ def start(self, name):
+ self._active += 1
+ if not self._show_jobs:
+ self._show_jobs = self._active > 1
+ self.update(inc=0, msg="started " + name)
- def finish(self, name):
- self.update(msg='finished ' + name)
- self._active -= 1
+ def finish(self, name):
+ self.update(msg="finished " + name)
+ self._active -= 1
- def update(self, inc=1, msg=''):
- self._done += inc
+ def update(self, inc=1, msg=""):
+ self._done += inc
- if _NOT_TTY or IsTraceToStderr():
- return
+ if _NOT_TTY or IsTraceToStderr():
+ return
- if not self._show:
- if 0.5 <= time() - self._start:
- self._show = True
- else:
- return
+ if not self._show:
+ if 0.5 <= time() - self._start:
+ self._show = True
+ else:
+ return
- if self._total <= 0:
- sys.stderr.write('\r%s: %d,%s' % (
- self._title,
- self._done,
- CSI_ERASE_LINE_AFTER))
- sys.stderr.flush()
- else:
- p = (100 * self._done) / self._total
- if self._show_jobs:
- jobs = '[%d job%s] ' % (self._active, 's' if self._active > 1 else '')
- else:
- jobs = ''
- sys.stderr.write('\r%s: %2d%% %s(%d%s/%d%s)%s%s%s%s' % (
- self._title,
- p,
- jobs,
- self._done, self._units,
- self._total, self._units,
- ' ' if msg else '', msg,
- CSI_ERASE_LINE_AFTER,
- '\n' if self._print_newline else ''))
- sys.stderr.flush()
+ if self._total <= 0:
+ sys.stderr.write(
+ "\r%s: %d,%s" % (self._title, self._done, CSI_ERASE_LINE_AFTER)
+ )
+ sys.stderr.flush()
+ else:
+ p = (100 * self._done) / self._total
+ if self._show_jobs:
+ jobs = "[%d job%s] " % (
+ self._active,
+ "s" if self._active > 1 else "",
+ )
+ else:
+ jobs = ""
+ sys.stderr.write(
+ "\r%s: %2d%% %s(%d%s/%d%s)%s%s%s%s"
+ % (
+ self._title,
+ p,
+ jobs,
+ self._done,
+ self._units,
+ self._total,
+ self._units,
+ " " if msg else "",
+ msg,
+ CSI_ERASE_LINE_AFTER,
+ "\n" if self._print_newline else "",
+ )
+ )
+ sys.stderr.flush()
- def end(self):
- if _NOT_TTY or IsTraceToStderr() or not self._show:
- return
+ def end(self):
+ if _NOT_TTY or IsTraceToStderr() or not self._show:
+ return
- duration = duration_str(time() - self._start)
- if self._total <= 0:
- sys.stderr.write('\r%s: %d, done in %s%s\n' % (
- self._title,
- self._done,
- duration,
- CSI_ERASE_LINE_AFTER))
- sys.stderr.flush()
- else:
- p = (100 * self._done) / self._total
- sys.stderr.write('\r%s: %3d%% (%d%s/%d%s), done in %s%s\n' % (
- self._title,
- p,
- self._done, self._units,
- self._total, self._units,
- duration,
- CSI_ERASE_LINE_AFTER))
- sys.stderr.flush()
+ duration = duration_str(time() - self._start)
+ if self._total <= 0:
+ sys.stderr.write(
+ "\r%s: %d, done in %s%s\n"
+ % (self._title, self._done, duration, CSI_ERASE_LINE_AFTER)
+ )
+ sys.stderr.flush()
+ else:
+ p = (100 * self._done) / self._total
+ sys.stderr.write(
+ "\r%s: %3d%% (%d%s/%d%s), done in %s%s\n"
+ % (
+ self._title,
+ p,
+ self._done,
+ self._units,
+ self._total,
+ self._units,
+ duration,
+ CSI_ERASE_LINE_AFTER,
+ )
+ )
+ sys.stderr.flush()