From ea2e330e43c182dc16b0111ebc69ee5a71ee4ce1 Mon Sep 17 00:00:00 2001 From: Gavin Mak Date: Sat, 11 Mar 2023 06:46:20 +0000 Subject: 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 Tested-by: Gavin Mak Commit-Queue: Gavin Mak --- pager.py | 159 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 79 insertions(+), 80 deletions(-) (limited to 'pager.py') diff --git a/pager.py b/pager.py index 438597ef..dbd5ae85 100644 --- a/pager.py +++ b/pager.py @@ -26,102 +26,101 @@ old_stderr = None def RunPager(globalConfig): - if not os.isatty(0) or not os.isatty(1): - return - pager = _SelectPager(globalConfig) - if pager == '' or pager == 'cat': - return + if not os.isatty(0) or not os.isatty(1): + return + pager = _SelectPager(globalConfig) + if pager == "" or pager == "cat": + return - if platform_utils.isWindows(): - _PipePager(pager) - else: - _ForkPager(pager) + if platform_utils.isWindows(): + _PipePager(pager) + else: + _ForkPager(pager) def TerminatePager(): - global pager_process, old_stdout, old_stderr - if pager_process: - sys.stdout.flush() - sys.stderr.flush() - pager_process.stdin.close() - pager_process.wait() - pager_process = None - # Restore initial stdout/err in case there is more output in this process - # after shutting down the pager process - sys.stdout = old_stdout - sys.stderr = old_stderr + global pager_process, old_stdout, old_stderr + if pager_process: + sys.stdout.flush() + sys.stderr.flush() + pager_process.stdin.close() + pager_process.wait() + pager_process = None + # Restore initial stdout/err in case there is more output in this + # process after shutting down the pager process. + sys.stdout = old_stdout + sys.stderr = old_stderr def _PipePager(pager): - global pager_process, old_stdout, old_stderr - assert pager_process is None, "Only one active pager process at a time" - # Create pager process, piping stdout/err into its stdin - try: - pager_process = subprocess.Popen([pager], stdin=subprocess.PIPE, stdout=sys.stdout, - stderr=sys.stderr) - except FileNotFoundError: - sys.exit(f'fatal: cannot start pager "{pager}"') - old_stdout = sys.stdout - old_stderr = sys.stderr - sys.stdout = pager_process.stdin - sys.stderr = pager_process.stdin + global pager_process, old_stdout, old_stderr + assert pager_process is None, "Only one active pager process at a time" + # Create pager process, piping stdout/err into its stdin. + try: + pager_process = subprocess.Popen( + [pager], stdin=subprocess.PIPE, stdout=sys.stdout, stderr=sys.stderr + ) + except FileNotFoundError: + sys.exit(f'fatal: cannot start pager "{pager}"') + old_stdout = sys.stdout + old_stderr = sys.stderr + sys.stdout = pager_process.stdin + sys.stderr = pager_process.stdin def _ForkPager(pager): - global active - # This process turns into the pager; a child it forks will - # do the real processing and output back to the pager. This - # is necessary to keep the pager in control of the tty. - # - try: - r, w = os.pipe() - pid = os.fork() - if not pid: - os.dup2(w, 1) - os.dup2(w, 2) - os.close(r) - os.close(w) - active = True - return - - os.dup2(r, 0) - os.close(r) - os.close(w) - - _BecomePager(pager) - except Exception: - print("fatal: cannot start pager '%s'" % pager, file=sys.stderr) - sys.exit(255) + global active + # This process turns into the pager; a child it forks will + # do the real processing and output back to the pager. This + # is necessary to keep the pager in control of the tty. + try: + r, w = os.pipe() + pid = os.fork() + if not pid: + os.dup2(w, 1) + os.dup2(w, 2) + os.close(r) + os.close(w) + active = True + return + + os.dup2(r, 0) + os.close(r) + os.close(w) + + _BecomePager(pager) + except Exception: + print("fatal: cannot start pager '%s'" % pager, file=sys.stderr) + sys.exit(255) def _SelectPager(globalConfig): - try: - return os.environ['GIT_PAGER'] - except KeyError: - pass + try: + return os.environ["GIT_PAGER"] + except KeyError: + pass - pager = globalConfig.GetString('core.pager') - if pager: - return pager + pager = globalConfig.GetString("core.pager") + if pager: + return pager - try: - return os.environ['PAGER'] - except KeyError: - pass + try: + return os.environ["PAGER"] + except KeyError: + pass - return 'less' + return "less" def _BecomePager(pager): - # Delaying execution of the pager until we have output - # ready works around a long-standing bug in popularly - # available versions of 'less', a better 'more'. - # - _a, _b, _c = select.select([0], [], [0]) - - os.environ['LESS'] = 'FRSX' - - try: - os.execvp(pager, [pager]) - except OSError: - os.execv('/bin/sh', ['sh', '-c', pager]) + # Delaying execution of the pager until we have output + # ready works around a long-standing bug in popularly + # available versions of 'less', a better 'more'. + _a, _b, _c = select.select([0], [], [0]) + + os.environ["LESS"] = "FRSX" + + try: + os.execvp(pager, [pager]) + except OSError: + os.execv("/bin/sh", ["sh", "-c", pager]) -- cgit v1.2.3-54-g00ecf