From dc28922ccb25c94e6b4dc5f1cfebc0644511af71 Mon Sep 17 00:00:00 2001 From: Anthony Sottile Date: Thu, 21 Mar 2019 21:09:33 -0700 Subject: [PATCH] Run pre-commit autoupdate Committed via https://github.com/asottile/all-repos --- .pre-commit-config.yaml | 10 ++-- pre_commit/commands/autoupdate.py | 16 +++--- pre_commit/commands/install_uninstall.py | 4 +- pre_commit/commands/run.py | 42 +++++++++------- pre_commit/git.py | 34 +++++++------ pre_commit/make_archives.py | 6 +-- tests/clientlib_test.py | 64 +++++++++++++----------- tests/conftest.py | 8 ++- tests/languages/ruby_test.py | 12 ++--- tests/parse_shebang_test.py | 6 +-- tests/repository_test.py | 24 +++++---- 11 files changed, 125 insertions(+), 101 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index e7ecdf88..1b87a406 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -12,7 +12,7 @@ repos: - id: requirements-txt-fixer - id: double-quote-string-fixer - repo: https://gitlab.com/pycqa/flake8 - rev: 3.7.1 + rev: 3.7.7 hooks: - id: flake8 - repo: https://github.com/pre-commit/mirrors-autopep8 @@ -20,20 +20,20 @@ repos: hooks: - id: autopep8 - repo: https://github.com/pre-commit/pre-commit - rev: v1.14.2 + rev: v1.14.4 hooks: - id: validate_manifest - repo: https://github.com/asottile/pyupgrade - rev: v1.11.1 + rev: v1.12.0 hooks: - id: pyupgrade - repo: https://github.com/asottile/reorder_python_imports - rev: v1.3.5 + rev: v1.4.0 hooks: - id: reorder-python-imports language_version: python3 - repo: https://github.com/asottile/add-trailing-comma - rev: v0.7.1 + rev: v1.0.0 hooks: - id: add-trailing-comma - repo: meta diff --git a/pre_commit/commands/autoupdate.py b/pre_commit/commands/autoupdate.py index 99e96050..11712e17 100644 --- a/pre_commit/commands/autoupdate.py +++ b/pre_commit/commands/autoupdate.py @@ -84,9 +84,11 @@ def _write_new_config_file(path, output): new_contents = ordered_dump(output, **C.YAML_DUMP_KWARGS) lines = original_contents.splitlines(True) - rev_line_indices_reversed = list(reversed([ - i for i, line in enumerate(lines) if REV_LINE_RE.match(line) - ])) + rev_line_indices_reversed = list( + reversed([ + i for i, line in enumerate(lines) if REV_LINE_RE.match(line) + ]), + ) for line in new_contents.splitlines(True): if REV_LINE_RE.match(line): @@ -140,9 +142,11 @@ def autoupdate(config_file, store, tags_only, repos=()): if new_repo_config['rev'] != repo_config['rev']: changed = True - output.write_line('updating {} -> {}.'.format( - repo_config['rev'], new_repo_config['rev'], - )) + output.write_line( + 'updating {} -> {}.'.format( + repo_config['rev'], new_repo_config['rev'], + ), + ) output_repos.append(new_repo_config) else: output.write_line('already up to date.') diff --git a/pre_commit/commands/install_uninstall.py b/pre_commit/commands/install_uninstall.py index a6d501ab..7e33961c 100644 --- a/pre_commit/commands/install_uninstall.py +++ b/pre_commit/commands/install_uninstall.py @@ -53,9 +53,7 @@ def shebang(): # Homebrew/homebrew-core#35825: be more timid about appropriate `PATH` path_choices = [p for p in os.defpath.split(os.pathsep) if p] exe_choices = [ - 'python{}'.format('.'.join( - str(v) for v in sys.version_info[:i] - )) + 'python{}'.format('.'.join(str(v) for v in sys.version_info[:i])) for i in range(3) ] for path, exe in itertools.product(path_choices, exe_choices): diff --git a/pre_commit/commands/run.py b/pre_commit/commands/run.py index 651c7f3f..2f909522 100644 --- a/pre_commit/commands/run.py +++ b/pre_commit/commands/run.py @@ -85,30 +85,36 @@ def _run_single_hook(classifier, hook, args, skips, cols): ) if hook.id in skips or hook.alias in skips: - output.write(get_hook_message( - _hook_msg_start(hook, args.verbose), - end_msg=SKIPPED, - end_color=color.YELLOW, - use_color=args.color, - cols=cols, - )) + output.write( + get_hook_message( + _hook_msg_start(hook, args.verbose), + end_msg=SKIPPED, + end_color=color.YELLOW, + use_color=args.color, + cols=cols, + ), + ) return 0 elif not filenames and not hook.always_run: - output.write(get_hook_message( - _hook_msg_start(hook, args.verbose), - postfix=NO_FILES, - end_msg=SKIPPED, - end_color=color.TURQUOISE, - use_color=args.color, - cols=cols, - )) + output.write( + get_hook_message( + _hook_msg_start(hook, args.verbose), + postfix=NO_FILES, + end_msg=SKIPPED, + end_color=color.TURQUOISE, + use_color=args.color, + cols=cols, + ), + ) return 0 # Print the hook and the dots first in case the hook takes hella long to # run. - output.write(get_hook_message( - _hook_msg_start(hook, args.verbose), end_len=6, cols=cols, - )) + output.write( + get_hook_message( + _hook_msg_start(hook, args.verbose), end_len=6, cols=cols, + ), + ) sys.stdout.flush() diff_before = cmd_output( diff --git a/pre_commit/git.py b/pre_commit/git.py index 3b97bfd9..64e449cb 100644 --- a/pre_commit/git.py +++ b/pre_commit/git.py @@ -84,20 +84,24 @@ def get_conflicted_files(): # If they resolved the merge conflict by choosing a mesh of both sides # this will also include the conflicted files tree_hash = cmd_output('git', 'write-tree')[1].strip() - merge_diff_filenames = zsplit(cmd_output( - 'git', 'diff', '--name-only', '--no-ext-diff', '-z', - '-m', tree_hash, 'HEAD', 'MERGE_HEAD', - )[1]) + merge_diff_filenames = zsplit( + cmd_output( + 'git', 'diff', '--name-only', '--no-ext-diff', '-z', + '-m', tree_hash, 'HEAD', 'MERGE_HEAD', + )[1], + ) return set(merge_conflict_filenames) | set(merge_diff_filenames) def get_staged_files(cwd=None): - return zsplit(cmd_output( - 'git', 'diff', '--staged', '--name-only', '--no-ext-diff', '-z', - # Everything except for D - '--diff-filter=ACMRTUXB', - cwd=cwd, - )[1]) + return zsplit( + cmd_output( + 'git', 'diff', '--staged', '--name-only', '--no-ext-diff', '-z', + # Everything except for D + '--diff-filter=ACMRTUXB', + cwd=cwd, + )[1], + ) def intent_to_add_files(): @@ -119,10 +123,12 @@ def get_all_files(): def get_changed_files(new, old): - return zsplit(cmd_output( - 'git', 'diff', '--name-only', '--no-ext-diff', '-z', - '{}...{}'.format(old, new), - )[1]) + return zsplit( + cmd_output( + 'git', 'diff', '--name-only', '--no-ext-diff', '-z', + '{}...{}'.format(old, new), + )[1], + ) def head_rev(remote): diff --git a/pre_commit/make_archives.py b/pre_commit/make_archives.py index 865ef061..9dd9e5e7 100644 --- a/pre_commit/make_archives.py +++ b/pre_commit/make_archives.py @@ -58,9 +58,9 @@ def main(argv=None): parser.add_argument('--dest', default='pre_commit/resources') args = parser.parse_args(argv) for archive_name, repo, ref in REPOS: - output.write_line('Making {}.tar.gz for {}@{}'.format( - archive_name, repo, ref, - )) + output.write_line( + 'Making {}.tar.gz for {}@{}'.format(archive_name, repo, ref), + ) make_archive(archive_name, repo, ref, args.dest) diff --git a/tests/clientlib_test.py b/tests/clientlib_test.py index a79c5a07..2cdc1528 100644 --- a/tests/clientlib_test.py +++ b/tests/clientlib_test.py @@ -33,41 +33,47 @@ def test_check_type_tag_failures(value): @pytest.mark.parametrize( ('config_obj', 'expected'), ( ( - {'repos': [{ - 'repo': 'git@github.com:pre-commit/pre-commit-hooks', - 'rev': 'cd74dc150c142c3be70b24eaf0b02cae9d235f37', - 'hooks': [{'id': 'pyflakes', 'files': '\\.py$'}], - }]}, + { + 'repos': [{ + 'repo': 'git@github.com:pre-commit/pre-commit-hooks', + 'rev': 'cd74dc150c142c3be70b24eaf0b02cae9d235f37', + 'hooks': [{'id': 'pyflakes', 'files': '\\.py$'}], + }], + }, True, ), ( - {'repos': [{ - 'repo': 'git@github.com:pre-commit/pre-commit-hooks', - 'rev': 'cd74dc150c142c3be70b24eaf0b02cae9d235f37', - 'hooks': [ - { - 'id': 'pyflakes', - 'files': '\\.py$', - 'args': ['foo', 'bar', 'baz'], - }, - ], - }]}, + { + 'repos': [{ + 'repo': 'git@github.com:pre-commit/pre-commit-hooks', + 'rev': 'cd74dc150c142c3be70b24eaf0b02cae9d235f37', + 'hooks': [ + { + 'id': 'pyflakes', + 'files': '\\.py$', + 'args': ['foo', 'bar', 'baz'], + }, + ], + }], + }, True, ), ( - {'repos': [{ - 'repo': 'git@github.com:pre-commit/pre-commit-hooks', - 'rev': 'cd74dc150c142c3be70b24eaf0b02cae9d235f37', - 'hooks': [ - { - 'id': 'pyflakes', - 'files': '\\.py$', - # Exclude pattern must be a string - 'exclude': 0, - 'args': ['foo', 'bar', 'baz'], - }, - ], - }]}, + { + 'repos': [{ + 'repo': 'git@github.com:pre-commit/pre-commit-hooks', + 'rev': 'cd74dc150c142c3be70b24eaf0b02cae9d235f37', + 'hooks': [ + { + 'id': 'pyflakes', + 'files': '\\.py$', + # Exclude pattern must be a string + 'exclude': 0, + 'args': ['foo', 'bar', 'baz'], + }, + ], + }], + }, False, ), ), diff --git a/tests/conftest.py b/tests/conftest.py index baaa64c9..50ad76ed 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -33,11 +33,9 @@ def no_warnings(recwarn): message.startswith('Not importing directory ') and ' missing __init__' in message ): - warnings.append('{}:{} {}'.format( - warning.filename, - warning.lineno, - message, - )) + warnings.append( + '{}:{} {}'.format(warning.filename, warning.lineno, message), + ) assert not warnings diff --git a/tests/languages/ruby_test.py b/tests/languages/ruby_test.py index bcaf0986..a0b4cfd4 100644 --- a/tests/languages/ruby_test.py +++ b/tests/languages/ruby_test.py @@ -22,9 +22,9 @@ def test_install_rbenv(tempdir_factory): # Should be able to activate using our script and access rbenv cmd_output( 'bash', '-c', - '. {} && rbenv --help'.format(pipes.quote(prefix.path( - 'rbenv-default', 'bin', 'activate', - ))), + '. {} && rbenv --help'.format( + pipes.quote(prefix.path('rbenv-default', 'bin', 'activate')), + ), ) @@ -36,7 +36,7 @@ def test_install_rbenv_with_version(tempdir_factory): # Should be able to activate and use rbenv install cmd_output( 'bash', '-c', - '. {} && rbenv install --help'.format(pipes.quote(prefix.path( - 'rbenv-1.9.3p547', 'bin', 'activate', - ))), + '. {} && rbenv install --help'.format( + pipes.quote(prefix.path('rbenv-1.9.3p547', 'bin', 'activate')), + ), ) diff --git a/tests/parse_shebang_test.py b/tests/parse_shebang_test.py index bcd6964b..400a287c 100644 --- a/tests/parse_shebang_test.py +++ b/tests/parse_shebang_test.py @@ -66,9 +66,9 @@ def test_find_executable_path_ext(in_tmpdir): """Windows exports PATHEXT as a list of extensions to automatically add to executables when doing PATH searching. """ - exe_path = os.path.abspath(write_executable( - '/usr/bin/env sh', filename='run.myext', - )) + exe_path = os.path.abspath( + write_executable('/usr/bin/env sh', filename='run.myext'), + ) env_path = {'PATH': os.path.dirname(exe_path)} env_path_ext = dict(env_path, PATHEXT=os.pathsep.join(('.exe', '.myext'))) assert parse_shebang.find_executable('run') is None diff --git a/tests/repository_test.py b/tests/repository_test.py index 32915f1a..d8bfde30 100644 --- a/tests/repository_test.py +++ b/tests/repository_test.py @@ -291,9 +291,11 @@ def test_additional_rust_cli_dependencies_installed( # A small rust package with no dependencies. config['hooks'][0]['additional_dependencies'] = [dep] hook = _get_hook(config, store, 'rust-hook') - binaries = os.listdir(hook.prefix.path( - helpers.environment_dir(rust.ENVIRONMENT_DIR, C.DEFAULT), 'bin', - )) + binaries = os.listdir( + hook.prefix.path( + helpers.environment_dir(rust.ENVIRONMENT_DIR, C.DEFAULT), 'bin', + ), + ) # normalize for windows binaries = [os.path.splitext(binary)[0] for binary in binaries] assert 'shellharden' in binaries @@ -308,9 +310,11 @@ def test_additional_rust_lib_dependencies_installed( deps = ['shellharden:3.1.0'] config['hooks'][0]['additional_dependencies'] = deps hook = _get_hook(config, store, 'rust-hook') - binaries = os.listdir(hook.prefix.path( - helpers.environment_dir(rust.ENVIRONMENT_DIR, C.DEFAULT), 'bin', - )) + binaries = os.listdir( + hook.prefix.path( + helpers.environment_dir(rust.ENVIRONMENT_DIR, C.DEFAULT), 'bin', + ), + ) # normalize for windows binaries = [os.path.splitext(binary)[0] for binary in binaries] assert 'rust-hello-world' in binaries @@ -507,9 +511,11 @@ def test_additional_golang_dependencies_installed( deps = ['github.com/golang/example/hello'] config['hooks'][0]['additional_dependencies'] = deps hook = _get_hook(config, store, 'golang-hook') - binaries = os.listdir(hook.prefix.path( - helpers.environment_dir(golang.ENVIRONMENT_DIR, C.DEFAULT), 'bin', - )) + binaries = os.listdir( + hook.prefix.path( + helpers.environment_dir(golang.ENVIRONMENT_DIR, C.DEFAULT), 'bin', + ), + ) # normalize for windows binaries = [os.path.splitext(binary)[0] for binary in binaries] assert 'hello' in binaries