diff options
| author | Chris Buccella <chris.buccella@antallagon.com> | 2014-09-23 00:54:39 -0400 |
|---|---|---|
| committer | Chris Buccella <chris.buccella@antallagon.com> | 2014-09-23 00:54:39 -0400 |
| commit | c0dd7c870c294db1e5db04ca7549c7e3bba021cb (patch) | |
| tree | 18fba3420e3ffa501ed3dfe257765f50d194ac1a | |
| parent | 876e283d38bcc2b82590b8547bb89552027b7949 (diff) | |
| download | flake8-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'
| -rw-r--r-- | flake8/hooks.py | 11 |
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 |
