summaryrefslogtreecommitdiff
path: root/flake8/hooks.py
diff options
context:
space:
mode:
authorChris Buccella <chris.buccella@antallagon.com>2014-09-23 00:54:39 -0400
committerChris Buccella <chris.buccella@antallagon.com>2014-09-23 00:54:39 -0400
commitc0dd7c870c294db1e5db04ca7549c7e3bba021cb (patch)
tree18fba3420e3ffa501ed3dfe257765f50d194ac1a /flake8/hooks.py
parent876e283d38bcc2b82590b8547bb89552027b7949 (diff)
downloadflake8-c0dd7c870c294db1e5db04ca7549c7e3bba021cb.tar.gz
Honor file pattern matching for git hook
In a config file, a user can use the "filename" option to specify a pattern for matching filenames. The git hook effectively ignores this and only checks files ending in '.py'
Diffstat (limited to 'flake8/hooks.py')
-rw-r--r--flake8/hooks.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/flake8/hooks.py b/flake8/hooks.py
index 9542279..1cbe884 100644
--- a/flake8/hooks.py
+++ b/flake8/hooks.py
@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import with_statement
import os
+import pep8
import sys
import stat
from subprocess import Popen, PIPE
@@ -47,10 +48,9 @@ def git_hook(complexity=-1, strict=False, ignore=None, lazy=False):
if complexity > -1:
options['max_complexity'] = complexity
- files_modified = [f for f in files_modified if f.endswith('.py')]
-
flake8_style = get_style_guide(config_file=DEFAULT_CONFIG, paths=['.'],
**options)
+ filepatterns = flake8_style.options.filename
# Copy staged versions to temporary directory
tmpdir = mkdtemp()
@@ -72,7 +72,12 @@ def git_hook(complexity=-1, strict=False, ignore=None, lazy=False):
# write staged version of file to temporary directory
with open(filename, "wb") as fh:
fh.write(out)
- files_to_check.append(filename)
+
+ # check_files() only does this check if passed a dir; so we do it
+ if ((pep8.filename_match(filename, filepatterns) and
+ not flake8_style.excluded(filename))):
+ files_to_check.append(filename)
+
# Run the checks
report = flake8_style.check_files(files_to_check)
# remove temporary directory