From 596e31fdeef11bc0ef158a12fae83048fe77f0a0 Mon Sep 17 00:00:00 2001 From: Anthony Sottile Date: Sun, 4 Jan 2015 15:49:19 -0800 Subject: [PATCH] Update some pre-commit hooks + some minor tweaks --- .pre-commit-config.yaml | 10 ++++++++-- pre_commit/clientlib/validate_base.py | 9 +++------ pre_commit/commands/autoupdate.py | 2 +- pre_commit/commands/run.py | 2 +- pre_commit/jsonschema_extensions.py | 1 + pre_commit/main.py | 3 ++- pre_commit/manifest.py | 1 + pre_commit/runner.py | 1 + pre_commit/store.py | 1 + pre_commit/util.py | 3 ++- requirements-dev.txt | 2 +- testing/fixtures.py | 3 ++- .../resources/python3_hooks_repo/python3_hook/main.py | 1 + testing/resources/python_hooks_repo/foo/main.py | 1 + testing/util.py | 5 +++-- tests/clientlib/validate_config_test.py | 2 +- tests/clientlib/validate_manifest_test.py | 2 +- tests/color_test.py | 3 ++- tests/commands/autoupdate_test.py | 3 ++- tests/commands/install_uninstall_test.py | 7 ++++--- tests/commands/run_test.py | 5 +++-- tests/conftest.py | 3 ++- tests/error_handler_test.py | 3 ++- tests/git_test.py | 1 + tests/languages/all_test.py | 1 + tests/main_test.py | 1 + tests/make_archives_test.py | 3 ++- tests/prefixed_command_runner_test.py | 3 ++- tests/repository_test.py | 3 ++- tests/staged_files_only_test.py | 5 +++-- tests/store_test.py | 5 +++-- tests/util_test.py | 3 ++- tox.ini | 3 ++- 33 files changed, 65 insertions(+), 36 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index cedb161f..c477d24f 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,17 +1,23 @@ - repo: git@github.com:pre-commit/pre-commit-hooks - sha: 6343700aa063fe30acc319d2dc84353a35a3d6d0 + sha: b03733bc86d9e8b2564a5798ade40d64baae3055 hooks: - id: trailing-whitespace - id: end-of-file-fixer - id: autopep8-wrapper args: ['-i', '--ignore=E265,E309,E501'] + - id: check-docstring-first - id: check-json - id: check-yaml - id: debug-statements - id: name-tests-test + - id: requirements-txt-fixer - id: flake8 - repo: git@github.com:pre-commit/pre-commit - sha: bcb1283267c0a041c77150a80a58f1bc2a3252d6 + sha: 86c99c6b870a261d2aff0b4cdb36995764edce1b hooks: - id: validate_config - id: validate_manifest +- repo: git@github.com:asottile/reorder_python_imports + sha: ea9fa14a757bb210d849de5af8f8ba2c9744027a + hooks: + - id: reorder-python-imports diff --git a/pre_commit/clientlib/validate_base.py b/pre_commit/clientlib/validate_base.py index 665ec9b9..707bdde7 100644 --- a/pre_commit/clientlib/validate_base.py +++ b/pre_commit/clientlib/validate_base.py @@ -2,11 +2,12 @@ from __future__ import print_function from __future__ import unicode_literals import argparse -import jsonschema -import jsonschema.exceptions import os.path import re import sys + +import jsonschema +import jsonschema.exceptions import yaml from pre_commit.jsonschema_extensions import apply_defaults @@ -78,10 +79,6 @@ def get_run_function(filenames_help, validate_strategy, exception_cls): validate_strategy(filename) except exception_cls as e: print(e.args[0]) - # If there was an inner exception, print the stringified - # version of that. - if len(e.args) > 1: - print(str(e.args[1])) retval = 1 return retval return run diff --git a/pre_commit/commands/autoupdate.py b/pre_commit/commands/autoupdate.py index fa213150..1a24b09f 100644 --- a/pre_commit/commands/autoupdate.py +++ b/pre_commit/commands/autoupdate.py @@ -12,8 +12,8 @@ from pre_commit.clientlib.validate_config import load_config from pre_commit.jsonschema_extensions import remove_defaults from pre_commit.ordereddict import OrderedDict from pre_commit.repository import Repository -from pre_commit.util import cwd from pre_commit.util import cmd_output +from pre_commit.util import cwd class RepositoryCannotBeUpdatedError(RuntimeError): diff --git a/pre_commit/commands/run.py b/pre_commit/commands/run.py index 7d930ef0..6f046e1a 100644 --- a/pre_commit/commands/run.py +++ b/pre_commit/commands/run.py @@ -5,8 +5,8 @@ import logging import os import sys -from pre_commit import git from pre_commit import color +from pre_commit import git from pre_commit.logging_handler import LoggingHandler from pre_commit.output import get_hook_message from pre_commit.output import sys_stdout_write_wrapper diff --git a/pre_commit/jsonschema_extensions.py b/pre_commit/jsonschema_extensions.py index 4fcbe981..0314e32e 100644 --- a/pre_commit/jsonschema_extensions.py +++ b/pre_commit/jsonschema_extensions.py @@ -1,6 +1,7 @@ from __future__ import unicode_literals import copy + import jsonschema import jsonschema.validators diff --git a/pre_commit/main.py b/pre_commit/main.py index a8134b2d..e4bae2b9 100644 --- a/pre_commit/main.py +++ b/pre_commit/main.py @@ -1,9 +1,10 @@ from __future__ import unicode_literals import argparse -import pkg_resources import sys +import pkg_resources + from pre_commit import color from pre_commit.commands.autoupdate import autoupdate from pre_commit.commands.clean import clean diff --git a/pre_commit/manifest.py b/pre_commit/manifest.py index 52caa4a5..0738e5d4 100644 --- a/pre_commit/manifest.py +++ b/pre_commit/manifest.py @@ -1,6 +1,7 @@ from __future__ import unicode_literals import os.path + from cached_property import cached_property import pre_commit.constants as C diff --git a/pre_commit/runner.py b/pre_commit/runner.py index e65f467b..9e9ac216 100644 --- a/pre_commit/runner.py +++ b/pre_commit/runner.py @@ -2,6 +2,7 @@ from __future__ import unicode_literals import os import os.path + from cached_property import cached_property import pre_commit.constants as C diff --git a/pre_commit/store.py b/pre_commit/store.py index c42048db..30962576 100644 --- a/pre_commit/store.py +++ b/pre_commit/store.py @@ -5,6 +5,7 @@ import logging import os import os.path import tempfile + from cached_property import cached_property from pre_commit.prefixed_command_runner import PrefixedCommandRunner diff --git a/pre_commit/util.py b/pre_commit/util.py index 9488b96a..5efe75fb 100644 --- a/pre_commit/util.py +++ b/pre_commit/util.py @@ -5,12 +5,13 @@ import functools import hashlib import os import os.path -import pkg_resources import shutil import subprocess import tarfile import tempfile +import pkg_resources + @contextlib.contextmanager def cwd(path): diff --git a/requirements-dev.txt b/requirements-dev.txt index 0d448cab..27aa358b 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -3,5 +3,5 @@ coverage flake8 mock -pylint +pylint<1.4 pytest diff --git a/testing/fixtures.py b/testing/fixtures.py index c42f92dc..1b1b802b 100644 --- a/testing/fixtures.py +++ b/testing/fixtures.py @@ -3,12 +3,13 @@ from __future__ import unicode_literals import io import os.path + from aspy.yaml import ordered_dump import pre_commit.constants as C -from pre_commit.clientlib.validate_manifest import load_manifest from pre_commit.clientlib.validate_config import CONFIG_JSON_SCHEMA from pre_commit.clientlib.validate_config import validate_config_extra +from pre_commit.clientlib.validate_manifest import load_manifest from pre_commit.jsonschema_extensions import apply_defaults from pre_commit.ordereddict import OrderedDict from pre_commit.util import cmd_output diff --git a/testing/resources/python3_hooks_repo/python3_hook/main.py b/testing/resources/python3_hooks_repo/python3_hook/main.py index 1ee37c45..ceeca0c4 100644 --- a/testing/resources/python3_hooks_repo/python3_hook/main.py +++ b/testing/resources/python3_hooks_repo/python3_hook/main.py @@ -1,4 +1,5 @@ from __future__ import print_function + import sys diff --git a/testing/resources/python_hooks_repo/foo/main.py b/testing/resources/python_hooks_repo/foo/main.py index 1cdb6a02..78c2c0f7 100644 --- a/testing/resources/python_hooks_repo/foo/main.py +++ b/testing/resources/python_hooks_repo/foo/main.py @@ -1,4 +1,5 @@ from __future__ import print_function + import sys diff --git a/testing/util.py b/testing/util.py index e83d5cb1..2cd1cbc2 100644 --- a/testing/util.py +++ b/testing/util.py @@ -1,11 +1,12 @@ from __future__ import unicode_literals -import jsonschema import os import os.path -import pytest import shutil +import jsonschema +import pytest + from pre_commit.util import cmd_output from pre_commit.util import cwd diff --git a/tests/clientlib/validate_config_test.py b/tests/clientlib/validate_config_test.py index dc1ac883..51eb7e4a 100644 --- a/tests/clientlib/validate_config_test.py +++ b/tests/clientlib/validate_config_test.py @@ -7,8 +7,8 @@ from pre_commit.clientlib.validate_config import InvalidConfigError from pre_commit.clientlib.validate_config import run from pre_commit.clientlib.validate_config import validate_config_extra from pre_commit.jsonschema_extensions import apply_defaults -from testing.util import is_valid_according_to_schema from testing.util import get_resource_path +from testing.util import is_valid_according_to_schema @pytest.mark.parametrize( diff --git a/tests/clientlib/validate_manifest_test.py b/tests/clientlib/validate_manifest_test.py index c45e5f8f..5e5690ed 100644 --- a/tests/clientlib/validate_manifest_test.py +++ b/tests/clientlib/validate_manifest_test.py @@ -6,8 +6,8 @@ from pre_commit.clientlib.validate_manifest import additional_manifest_check from pre_commit.clientlib.validate_manifest import InvalidManifestError from pre_commit.clientlib.validate_manifest import MANIFEST_JSON_SCHEMA from pre_commit.clientlib.validate_manifest import run -from testing.util import is_valid_according_to_schema from testing.util import get_resource_path +from testing.util import is_valid_according_to_schema @pytest.mark.parametrize( diff --git a/tests/color_test.py b/tests/color_test.py index 24a48378..500a9bbc 100644 --- a/tests/color_test.py +++ b/tests/color_test.py @@ -1,8 +1,9 @@ from __future__ import unicode_literals +import sys + import mock import pytest -import sys from pre_commit.color import format_color from pre_commit.color import GREEN diff --git a/tests/commands/autoupdate_test.py b/tests/commands/autoupdate_test.py index d8c564f5..5dbc439c 100644 --- a/tests/commands/autoupdate_test.py +++ b/tests/commands/autoupdate_test.py @@ -1,8 +1,9 @@ from __future__ import unicode_literals -import pytest import shutil +import pytest + import pre_commit.constants as C from pre_commit.commands.autoupdate import _update_repository from pre_commit.commands.autoupdate import autoupdate diff --git a/tests/commands/install_uninstall_test.py b/tests/commands/install_uninstall_test.py index 3de7ffce..4e41f727 100644 --- a/tests/commands/install_uninstall_test.py +++ b/tests/commands/install_uninstall_test.py @@ -2,20 +2,21 @@ from __future__ import absolute_import from __future__ import unicode_literals import io -import mock import os import os.path import re -import subprocess import stat +import subprocess import sys +import mock + from pre_commit.commands.install_uninstall import IDENTIFYING_HASH -from pre_commit.commands.install_uninstall import PREVIOUS_IDENTIFYING_HASHES from pre_commit.commands.install_uninstall import install from pre_commit.commands.install_uninstall import is_our_pre_commit from pre_commit.commands.install_uninstall import is_previous_pre_commit from pre_commit.commands.install_uninstall import make_executable +from pre_commit.commands.install_uninstall import PREVIOUS_IDENTIFYING_HASHES from pre_commit.commands.install_uninstall import uninstall from pre_commit.runner import Runner from pre_commit.util import cmd_output diff --git a/tests/commands/run_test.py b/tests/commands/run_test.py index 26b27010..4bf3347e 100644 --- a/tests/commands/run_test.py +++ b/tests/commands/run_test.py @@ -2,12 +2,13 @@ from __future__ import unicode_literals import io -import mock import os import os.path -import pytest import subprocess +import mock +import pytest + from pre_commit.commands.install_uninstall import install from pre_commit.commands.run import _get_skips from pre_commit.commands.run import _has_unmerged_paths diff --git a/tests/conftest.py b/tests/conftest.py index 2465f0d0..8c74c684 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -2,9 +2,10 @@ from __future__ import absolute_import from __future__ import unicode_literals import io -import mock import os import os.path + +import mock import pytest import pre_commit.constants as C diff --git a/tests/error_handler_test.py b/tests/error_handler_test.py index 2b50fb36..54ae75a4 100644 --- a/tests/error_handler_test.py +++ b/tests/error_handler_test.py @@ -3,9 +3,10 @@ from __future__ import unicode_literals import io import os.path +import re + import mock import pytest -import re from pre_commit import error_handler from pre_commit.errors import FatalError diff --git a/tests/git_test.py b/tests/git_test.py index 86e18b34..e9f136b3 100644 --- a/tests/git_test.py +++ b/tests/git_test.py @@ -2,6 +2,7 @@ from __future__ import absolute_import from __future__ import unicode_literals import os.path + import pytest from pre_commit import git diff --git a/tests/languages/all_test.py b/tests/languages/all_test.py index 1f84c6ce..90db9ec7 100644 --- a/tests/languages/all_test.py +++ b/tests/languages/all_test.py @@ -1,6 +1,7 @@ from __future__ import unicode_literals import inspect + import pytest from pre_commit.languages.all import all_languages diff --git a/tests/main_test.py b/tests/main_test.py index ac1674f9..140b5875 100644 --- a/tests/main_test.py +++ b/tests/main_test.py @@ -2,6 +2,7 @@ from __future__ import absolute_import from __future__ import unicode_literals import argparse + import mock import pytest diff --git a/tests/make_archives_test.py b/tests/make_archives_test.py index 91cb0af4..a789edfa 100644 --- a/tests/make_archives_test.py +++ b/tests/make_archives_test.py @@ -1,8 +1,9 @@ from __future__ import absolute_import from __future__ import unicode_literals -import mock import os.path + +import mock import pytest from pre_commit import make_archives diff --git a/tests/prefixed_command_runner_test.py b/tests/prefixed_command_runner_test.py index ca6d0154..f7cf1c6f 100644 --- a/tests/prefixed_command_runner_test.py +++ b/tests/prefixed_command_runner_test.py @@ -1,9 +1,10 @@ from __future__ import unicode_literals import os +import subprocess + import mock import pytest -import subprocess from pre_commit.prefixed_command_runner import _replace_cmd from pre_commit.prefixed_command_runner import PrefixedCommandRunner diff --git a/tests/repository_test.py b/tests/repository_test.py index 868f2f59..089ea35d 100644 --- a/tests/repository_test.py +++ b/tests/repository_test.py @@ -2,8 +2,9 @@ from __future__ import absolute_import from __future__ import unicode_literals import io -import mock import os.path + +import mock import pytest from pre_commit.clientlib.validate_config import CONFIG_JSON_SCHEMA diff --git a/tests/staged_files_only_test.py b/tests/staged_files_only_test.py index 65a47120..88ef81c2 100644 --- a/tests/staged_files_only_test.py +++ b/tests/staged_files_only_test.py @@ -4,11 +4,12 @@ from __future__ import unicode_literals import io import logging -import mock import os.path -import pytest import shutil +import mock +import pytest + from pre_commit.staged_files_only import staged_files_only from pre_commit.util import cmd_output from pre_commit.util import cwd diff --git a/tests/store_test.py b/tests/store_test.py index ecaee692..5045f33c 100644 --- a/tests/store_test.py +++ b/tests/store_test.py @@ -2,12 +2,13 @@ from __future__ import absolute_import from __future__ import unicode_literals import io -import mock import os import os.path -import pytest import shutil +import mock +import pytest + from pre_commit import five from pre_commit.store import _get_default_directory from pre_commit.store import logger diff --git a/tests/util_test.py b/tests/util_test.py index 538040df..1361d639 100644 --- a/tests/util_test.py +++ b/tests/util_test.py @@ -1,10 +1,11 @@ from __future__ import unicode_literals -import pytest import os import os.path import random +import pytest + from pre_commit.util import clean_path_on_failure from pre_commit.util import cwd from pre_commit.util import memoize_by_cwd diff --git a/tox.ini b/tox.ini index 87082d9e..a8c58834 100644 --- a/tox.ini +++ b/tox.ini @@ -9,7 +9,8 @@ deps = -rrequirements-dev.txt commands = coverage erase coverage run -m pytest {posargs:tests} - coverage report --show-missing --fail-under 93 + # TODO: when dropping py26, change to 100 + coverage report --show-missing --fail-under 99 flake8 {[tox]project} testing tests setup.py # pylint {[tox]project} testing tests setup.py