summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Cordasco <graffatcolmingov@gmail.com>2013-03-24 15:59:09 -0400
committerIan Cordasco <graffatcolmingov@gmail.com>2013-03-24 15:59:09 -0400
commit4efd19ce093fd7875bfd8f14dce2c584bc06cd30 (patch)
treebc0b29b7045e5d4bbcfad54373ca9a13d5e46745
parent8935e0f5c1cad72a19904b171ae0ca714dcd59d8 (diff)
downloadflake8-4efd19ce093fd7875bfd8f14dce2c584bc06cd30.tar.gz
Fix #91 (bitbucket)
Non python files were being included in the git hook. Also, I realized that with --install-hook on git projects, the file was not readable to the user. Using binary helps clarify the use of chmod since I had erroneously used the 744 like the commandline does.
-rw-r--r--flake8/hooks.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/flake8/hooks.py b/flake8/hooks.py
index 0c3c6ee..b42954f 100644
--- a/flake8/hooks.py
+++ b/flake8/hooks.py
@@ -27,16 +27,20 @@ def git_hook(complexity=-1, strict=False, ignore=None, lazy=False):
"""
gitcmd = "git diff-index --cached --name-only HEAD"
if lazy:
+ # Catch all files, including those not added to the index
gitcmd = gitcmd.replace('--cached ', '')
if hasattr(ignore, 'split'):
ignore = ignore.split(',')
+ # Returns the exit code, list of files modified, list of error messages
_, files_modified, _ = run(gitcmd)
+ # Run the checks
flake8_style = get_style_guide(
config_file=DEFAULT_CONFIG, ignore=ignore, max_complexity=complexity)
- report = flake8_style.check_files(files_modified)
+ report = flake8_style.check_files([f for f in files_modified if
+ f.endswith('.py')])
if strict:
return report.total_errors
@@ -154,7 +158,8 @@ def install_hook():
if 'git' in vcs:
with open(vcs, 'w+') as fd:
fd.write(git_hook_file)
- os.chmod(vcs, 744)
+ # 0b111100100 == rwxr--r--
+ os.chmod(vcs, 0b111100100)
elif 'hg' in vcs:
_install_hg_hook(vcs)
else: