Skip to content

Commit

Permalink
Merge pull request #978 from pre-commit/all-repos_autofix_pre-commit-…
Browse files Browse the repository at this point in the history
…autoupdate

Run pre-commit autoupdate
  • Loading branch information
asottile committed Mar 22, 2019
2 parents 06d01c8 + dc28922 commit da00fa9
Show file tree
Hide file tree
Showing 11 changed files with 125 additions and 101 deletions.
10 changes: 5 additions & 5 deletions .pre-commit-config.yaml
Expand Up @@ -12,28 +12,28 @@ 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
rev: v1.4.3
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
Expand Down
16 changes: 10 additions & 6 deletions pre_commit/commands/autoupdate.py
Expand Up @@ -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):
Expand Down Expand Up @@ -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.')
Expand Down
4 changes: 1 addition & 3 deletions pre_commit/commands/install_uninstall.py
Expand Up @@ -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):
Expand Down
42 changes: 24 additions & 18 deletions pre_commit/commands/run.py
Expand Up @@ -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(
Expand Down
34 changes: 20 additions & 14 deletions pre_commit/git.py
Expand Up @@ -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():
Expand All @@ -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):
Expand Down
6 changes: 3 additions & 3 deletions pre_commit/make_archives.py
Expand Up @@ -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)


Expand Down
64 changes: 35 additions & 29 deletions tests/clientlib_test.py
Expand Up @@ -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,
),
),
Expand Down
8 changes: 3 additions & 5 deletions tests/conftest.py
Expand Up @@ -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


Expand Down
12 changes: 6 additions & 6 deletions tests/languages/ruby_test.py
Expand Up @@ -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')),
),
)


Expand All @@ -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')),
),
)
6 changes: 3 additions & 3 deletions tests/parse_shebang_test.py
Expand Up @@ -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
Expand Down
24 changes: 15 additions & 9 deletions tests/repository_test.py
Expand Up @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit da00fa9

Please sign in to comment.