Merge branch 'bug/244' into 'master'

Display the local paths from the git hook

Instead of displaying the path to the temporary directory, as we always
have, it's been requested that we instead display the path to the file
that was copied to the temporary directory.

Closes #244

See merge request !154
This commit is contained in:
Ian Cordasco 2016-12-21 01:25:06 +00:00
commit 4bd7998162
2 changed files with 17 additions and 0 deletions

View file

@ -8,6 +8,9 @@ You can view the `3.3.0 milestone`_ on GitLab for more details.
- Dramatically improve the performance of Flake8 (`GitLab!156`_)
- Display the local file path instead of the temporary file path when
using the git hook (`GitLab#244`_)
- Fix problem where hooks should only check \*.py files. (See also
`GitLab#268`_)
@ -17,6 +20,8 @@ You can view the `3.3.0 milestone`_ on GitLab for more details.
.. links
.. _3.3.0 milestone:
https://gitlab.com/pycqa/flake8/milestones/16
.. _GitLab#244:
https://gitlab.com/pycqa/flake8/issues/244
.. _GitLab#251:
https://gitlab.com/pycqa/flake8/issues/251
.. _GitLab#268:

View file

@ -6,6 +6,7 @@
"""
import contextlib
import os
import os.path
import shutil
import stat
import subprocess
@ -46,6 +47,7 @@ def hook(lazy=False, strict=False):
app.options._running_from_vcs = True
app.run_checks(filepaths)
update_paths(app.file_checker_manager, tempdir)
app.report_errors()
if strict:
return app.result_count
@ -204,6 +206,16 @@ def update_excludes(exclude_list, temporary_directory_path):
]
def update_paths(checker_manager, temp_prefix):
temp_prefix_length = len(temp_prefix)
for checker in checker_manager.checkers:
filename = checker.display_name
if filename.startswith(temp_prefix):
checker.display_name = os.path.relpath(
filename[temp_prefix_length:]
)
_HOOK_TEMPLATE = """#!{executable}
import os
import sys