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:]