FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
overcommit/lib/overcommit/hook/pre_commit/python_flake8.rb at main · sds/overcommit · GitHub
sds
/
overcommit
Public
Notifications
You must be signed in to change notification settings
Fork
285
Star
4k
Code
Issues
29
Pull requests
4
Actions
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Security and quality
Insights
Expand file tree
Breadcrumbs
overcommit
/
lib
/
overcommit
/
hook
/
pre_commit
/
python_flake8.rb
Copy path
More file actions
More file actions
Latest commit
History
History
History
32 lines (27 loc) · 947 Bytes
Breadcrumbs
overcommit
/
lib
/
overcommit
/
hook
/
pre_commit
/
python_flake8.rb
Copy path
File metadata and controls
32 lines (27 loc) · 947 Bytes
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# frozen_string_literal: true
module
Overcommit
::
Hook
::
PreCommit
# Runs `flake8` against any modified Python files.
#
# @see https://pypi.python.org/pypi/flake8
class
PythonFlake8
<
Base
MESSAGE_REGEX
=
/^(?<file>(?:
\w
:)?.+):(?<line>
\d
+):
\d
+:
\s
(?<type>
\w
\d
+)/
.
freeze
# Classify 'Exxx' and 'Fxxx' message codes as errors,
# everything else as warnings.
# http://flake8.readthedocs.org/en/latest/warnings.html
MESSAGE_TYPE_CATEGORIZER
=
lambda
do
|
type
|
'EF'
.
include?
(
type
[
0
]
)
?
:error
:
:warning
end
def
run
result
=
execute
(
command
,
args
:
applicable_files
)
return
:pass
if
result
.
success?
output
=
result
.
stdout
.
chomp
# example message:
# path/to/file.py:2:13: F812 list comprehension redefines name from line 1
extract_messages
(
output
.
split
(
"
\n
"
)
.
grep
(
MESSAGE_REGEX
)
,
MESSAGE_REGEX
,
MESSAGE_TYPE_CATEGORIZER
)
end
end
end
Back
|
FazBrowse Home
|
New Git URL