Remove @entry decorator (and misc cleanup)
diff --git a/pre_commit_hooks/check_json.py b/pre_commit_hooks/check_json.py index 3caaf34..1f2cbf9 100644 --- a/pre_commit_hooks/check_json.py +++ b/pre_commit_hooks/check_json.py
@@ -4,11 +4,8 @@ import sys import simplejson -from pre_commit_hooks.util import entry - -@entry -def check_json(argv): +def check_json(argv=None): parser = argparse.ArgumentParser() parser.add_argument('filenames', nargs='*', help='JSON filenames to check.') args = parser.parse_args(argv) @@ -17,8 +14,8 @@ for filename in args.filenames: try: simplejson.load(open(filename)) - except simplejson.JSONDecodeError as e: - print('{0}: Failed to json encode ({1})'.format(filename, e)) + except simplejson.JSONDecodeError as exc: + print('{0}: Failed to json encode ({1})'.format(filename, exc)) retval = 1 return retval
diff --git a/pre_commit_hooks/check_yaml.py b/pre_commit_hooks/check_yaml.py index 1de7de4..406800b 100644 --- a/pre_commit_hooks/check_yaml.py +++ b/pre_commit_hooks/check_yaml.py
@@ -4,11 +4,8 @@ import sys import yaml -from pre_commit_hooks.util import entry - -@entry -def check_yaml(argv): +def check_yaml(argv=None): parser = argparse.ArgumentParser() parser.add_argument('filenames', nargs='*', help='Yaml filenames to check.') args = parser.parse_args(argv) @@ -17,8 +14,8 @@ for filename in args.filenames: try: yaml.load(open(filename)) - except yaml.YAMLError as e: - print(e) + except yaml.YAMLError as exc: + print(exc) retval = 1 return retval
diff --git a/pre_commit_hooks/debug_statement_hook.py b/pre_commit_hooks/debug_statement_hook.py index 0ff94cf..432a3f0 100644 --- a/pre_commit_hooks/debug_statement_hook.py +++ b/pre_commit_hooks/debug_statement_hook.py
@@ -6,8 +6,6 @@ import collections import traceback -from pre_commit_hooks.util import entry - DEBUG_STATEMENTS = set(['pdb', 'ipdb', 'pudb']) @@ -61,8 +59,7 @@ return 0 -@entry -def debug_statement_hook(argv): +def debug_statement_hook(argv=None): parser = argparse.ArgumentParser() parser.add_argument('filenames', nargs='*', help='Filenames to run') args = parser.parse_args(argv)
diff --git a/pre_commit_hooks/end_of_file_fixer.py b/pre_commit_hooks/end_of_file_fixer.py index 9fee9c1..0698a89 100644 --- a/pre_commit_hooks/end_of_file_fixer.py +++ b/pre_commit_hooks/end_of_file_fixer.py
@@ -5,8 +5,6 @@ import os import sys -from pre_commit_hooks.util import entry - def fix_file(file_obj): # Test for newline at end of file @@ -46,8 +44,7 @@ return 0 -@entry -def end_of_file_fixer(argv): +def end_of_file_fixer(argv=None): parser = argparse.ArgumentParser() parser.add_argument('filenames', nargs='*', help='Filenames to fix') args = parser.parse_args(argv)
diff --git a/pre_commit_hooks/requirements_txt_fixer.py b/pre_commit_hooks/requirements_txt_fixer.py index 22fdb52..a794c5d 100644 --- a/pre_commit_hooks/requirements_txt_fixer.py +++ b/pre_commit_hooks/requirements_txt_fixer.py
@@ -2,8 +2,6 @@ import argparse -from pre_commit_hooks.util import entry - class Requirement(object): @@ -67,8 +65,7 @@ return 1 -@entry -def fix_requirements_txt(argv): +def fix_requirements_txt(argv=None): parser = argparse.ArgumentParser() parser.add_argument('filenames', nargs='*', help='Filenames to fix') args = parser.parse_args(argv) @@ -76,7 +73,7 @@ retv = 0 for arg in args.filenames: - with open(arg, 'rb+') as f: - retv |= fix_requirements(f) + with open(arg, 'rb+') as file_obj: + retv |= fix_requirements(file_obj) return retv
diff --git a/pre_commit_hooks/tests_should_end_in_test.py b/pre_commit_hooks/tests_should_end_in_test.py index f1a546e..58010d3 100644 --- a/pre_commit_hooks/tests_should_end_in_test.py +++ b/pre_commit_hooks/tests_should_end_in_test.py
@@ -2,11 +2,8 @@ import sys -from pre_commit_hooks.util import entry - -@entry -def validate_files(argv): +def validate_files(argv=None): retcode = 0 for filename in argv: if (
diff --git a/pre_commit_hooks/trailing_whitespace_fixer.py b/pre_commit_hooks/trailing_whitespace_fixer.py index b9cc10e..5350fe2 100644 --- a/pre_commit_hooks/trailing_whitespace_fixer.py +++ b/pre_commit_hooks/trailing_whitespace_fixer.py
@@ -5,16 +5,13 @@ import sys from plumbum import local -from pre_commit_hooks.util import entry - def _fix_file(filename): for line in fileinput.input([filename], inplace=True): print(line.rstrip()) -@entry -def fix_trailing_whitespace(argv): +def fix_trailing_whitespace(argv=None): parser = argparse.ArgumentParser() parser.add_argument('filenames', nargs='*', help='Filenames to fix') args = parser.parse_args(argv)
diff --git a/pre_commit_hooks/util.py b/pre_commit_hooks/util.py deleted file mode 100644 index 5b65794..0000000 --- a/pre_commit_hooks/util.py +++ /dev/null
@@ -1,15 +0,0 @@ -import functools -import sys - - -def entry(func): - """Allows a function that has `argv` as an argument to be used as a - commandline entry. This will make the function callable using either - explicitly passed argv or defaulting to sys.argv[1:] - """ - @functools.wraps(func) - def wrapper(argv=None): - if argv is None: - argv = sys.argv[1:] - return func(argv) - return wrapper
diff --git a/pylintrc b/pylintrc index 9895d8b..ee7e3d6 100644 --- a/pylintrc +++ b/pylintrc
@@ -1,5 +1,5 @@ [MESSAGES CONTROL] -disable=missing-docstring,abstract-method,redefined-builtin,invalid-name,no-value-for-parameter,redefined-outer-name,no-member,bad-open-mode +disable=bad-open-mode,invalid-name,missing-docstring,redefined-outer-name [REPORTS] output-format=colorized
diff --git a/tests/end_of_file_fixer_test.py b/tests/end_of_file_fixer_test.py index 2e53246..3f0d0f0 100644 --- a/tests/end_of_file_fixer_test.py +++ b/tests/end_of_file_fixer_test.py
@@ -18,21 +18,21 @@ ) -@pytest.mark.parametrize(('input', 'expected_retval', 'output'), TESTS) -def test_fix_file(input, expected_retval, output): +@pytest.mark.parametrize(('input_s', 'expected_retval', 'output'), TESTS) +def test_fix_file(input_s, expected_retval, output): file_obj = io.BytesIO() - file_obj.write(input) + file_obj.write(input_s) ret = fix_file(file_obj) assert file_obj.getvalue() == output assert ret == expected_retval -@pytest.mark.parametrize(('input', 'expected_retval', 'output'), TESTS) -def test_integration(input, expected_retval, output, tmpdir): +@pytest.mark.parametrize(('input_s', 'expected_retval', 'output'), TESTS) +def test_integration(input_s, expected_retval, output, tmpdir): file_path = os.path.join(tmpdir.strpath, 'file.txt') with open(file_path, 'wb') as file_obj: - file_obj.write(input) + file_obj.write(input_s) ret = end_of_file_fixer([file_path]) file_output = open(file_path, 'rb').read()
diff --git a/tests/requirements_txt_fixer_test.py b/tests/requirements_txt_fixer_test.py index 49b0bb7..4e5c5c1 100644 --- a/tests/requirements_txt_fixer_test.py +++ b/tests/requirements_txt_fixer_test.py
@@ -17,12 +17,12 @@ ) -@pytest.mark.parametrize(('input', 'expected_retval', 'output'), TESTS) -def test_integration(input, expected_retval, output, tmpdir): +@pytest.mark.parametrize(('input_s', 'expected_retval', 'output'), TESTS) +def test_integration(input_s, expected_retval, output, tmpdir): path = os.path.join(tmpdir.strpath, 'file.txt') with open(path, 'wb') as file_obj: - file_obj.write(input) + file_obj.write(input_s) assert fix_requirements_txt([path]) == expected_retval assert open(path, 'rb').read() == output
diff --git a/tests/trailing_whitespace_fixer_test.py b/tests/trailing_whitespace_fixer_test.py index 1c57b10..bf508c0 100644 --- a/tests/trailing_whitespace_fixer_test.py +++ b/tests/trailing_whitespace_fixer_test.py
@@ -9,8 +9,8 @@ ('foo.py', 'foo \nbar \n'), ('bar.py', 'bar\t\nbaz\t\n'), ): - with open(filename, 'w') as f: - f.write(contents) # pragma: no cover (python 2.6 coverage bug) + with open(filename, 'w') as file_obj: + file_obj.write(contents) # pragma: no cover (26 coverage bug) ret = fix_trailing_whitespace(['foo.py', 'bar.py']) assert ret == 1
diff --git a/tests/util_test.py b/tests/util_test.py deleted file mode 100644 index 28ebe81..0000000 --- a/tests/util_test.py +++ /dev/null
@@ -1,27 +0,0 @@ -import mock -import pytest -import sys - -from pre_commit_hooks.util import entry - - -@pytest.fixture -def entry_func(): - @entry - def func(argv): - return argv - - return func - - -def test_explicitly_passed_argv_are_passed(entry_func): - input = object() - ret = entry_func(input) - assert ret is input - - -def test_no_arguments_passed_uses_argv(entry_func): - argv = [1, 2, 3, 4] - with mock.patch.object(sys, 'argv', argv): - ret = entry_func() - assert ret == argv[1:]