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 --- editor.py | 184 ++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 95 insertions(+), 89 deletions(-) (limited to 'editor.py') diff --git a/editor.py b/editor.py index b84a42d4..96835aba 100644 --- a/editor.py +++ b/editor.py @@ -23,93 +23,99 @@ import platform_utils class Editor(object): - """Manages the user's preferred text editor.""" - - _editor = None - globalConfig = None - - @classmethod - def _GetEditor(cls): - if cls._editor is None: - cls._editor = cls._SelectEditor() - return cls._editor - - @classmethod - def _SelectEditor(cls): - e = os.getenv('GIT_EDITOR') - if e: - return e - - if cls.globalConfig: - e = cls.globalConfig.GetString('core.editor') - if e: - return e - - e = os.getenv('VISUAL') - if e: - return e - - e = os.getenv('EDITOR') - if e: - return e - - if os.getenv('TERM') == 'dumb': - print( - """No editor specified in GIT_EDITOR, core.editor, VISUAL or EDITOR. + """Manages the user's preferred text editor.""" + + _editor = None + globalConfig = None + + @classmethod + def _GetEditor(cls): + if cls._editor is None: + cls._editor = cls._SelectEditor() + return cls._editor + + @classmethod + def _SelectEditor(cls): + e = os.getenv("GIT_EDITOR") + if e: + return e + + if cls.globalConfig: + e = cls.globalConfig.GetString("core.editor") + if e: + return e + + e = os.getenv("VISUAL") + if e: + return e + + e = os.getenv("EDITOR") + if e: + return e + + if os.getenv("TERM") == "dumb": + print( + """No editor specified in GIT_EDITOR, core.editor, VISUAL or EDITOR. Tried to fall back to vi but terminal is dumb. Please configure at -least one of these before using this command.""", file=sys.stderr) - sys.exit(1) - - return 'vi' - - @classmethod - def EditString(cls, data): - """Opens an editor to edit the given content. - - Args: - data: The text to edit. - - Returns: - New value of edited text. - - Raises: - EditorError: The editor failed to run. - """ - editor = cls._GetEditor() - if editor == ':': - return data - - fd, path = tempfile.mkstemp() - try: - os.write(fd, data.encode('utf-8')) - os.close(fd) - fd = None - - if platform_utils.isWindows(): - # Split on spaces, respecting quoted strings - import shlex - args = shlex.split(editor) - shell = False - elif re.compile("^.*[$ \t'].*$").match(editor): - args = [editor + ' "$@"', 'sh'] - shell = True - else: - args = [editor] - shell = False - args.append(path) - - try: - rc = subprocess.Popen(args, shell=shell).wait() - except OSError as e: - raise EditorError('editor failed, %s: %s %s' - % (str(e), editor, path)) - if rc != 0: - raise EditorError('editor failed with exit status %d: %s %s' - % (rc, editor, path)) - - with open(path, mode='rb') as fd2: - return fd2.read().decode('utf-8') - finally: - if fd: - os.close(fd) - platform_utils.remove(path) +least one of these before using this command.""", # noqa: E501 + file=sys.stderr, + ) + sys.exit(1) + + return "vi" + + @classmethod + def EditString(cls, data): + """Opens an editor to edit the given content. + + Args: + data: The text to edit. + + Returns: + New value of edited text. + + Raises: + EditorError: The editor failed to run. + """ + editor = cls._GetEditor() + if editor == ":": + return data + + fd, path = tempfile.mkstemp() + try: + os.write(fd, data.encode("utf-8")) + os.close(fd) + fd = None + + if platform_utils.isWindows(): + # Split on spaces, respecting quoted strings + import shlex + + args = shlex.split(editor) + shell = False + elif re.compile("^.*[$ \t'].*$").match(editor): + args = [editor + ' "$@"', "sh"] + shell = True + else: + args = [editor] + shell = False + args.append(path) + + try: + rc = subprocess.Popen(args, shell=shell).wait() + except OSError as e: + raise EditorError( + "editor failed, %s: %s %s" % (str(e), editor, path) + ) + if rc != 0: + raise EditorError( + "editor failed with exit status %d: %s %s" + % (rc, editor, path) + ) + + with open(path, mode="rb") as fd2: + return fd2.read().decode("utf-8") + finally: + if fd: + os.close(fd) + platform_utils.remove(path) -- cgit v1.2.3-54-g00ecf