Skip to content

Commit

Permalink
bears/python: Add PyFlakesBear
Browse files Browse the repository at this point in the history
Closes coala#825
  • Loading branch information
srisankethu committed Nov 12, 2016
1 parent c1cd381 commit 3b1316a
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 1 deletion.
29 changes: 29 additions & 0 deletions bears/python/PyFlakesBear.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
from coalib.bearlib.abstractions.Linter import linter
from coalib.bears.requirements.PipRequirement import PipRequirement
from coalib.results.RESULT_SEVERITY import RESULT_SEVERITY


@linter(executable='pyflakes',
output_format='regex',
output_regex=r'(?P<filename>.*):(?P<line>.*):\s*'
r'(?P<severity>)\s(?P<message>.*)',
severity_map={
'': RESULT_SEVERITY.INFO
})
class PyFlakesBear:
"""
Checks Python files for logistic errors using ``pyflakes``.
See https://github.com/PyCQA/pyflakes for more info.
"""
LANGUAGES = {"Python", "Python 3"}
REQUIREMENTS = {PipRequirement('pyflakes', '1.2.*')}
AUTHORS = {'The coala developers'}
AUTHORS_EMAILS = {'[email protected]'}
LICENSE = 'AGPL-3.0'
ASCIINEMA_URL = 'https://asciinema.org/a/92503'
CAN_DETECT = {'Syntax', 'Unused imports', 'Undefined Element'}

@staticmethod
def create_arguments(filename, file, config_file):
return filename,
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,6 @@ pyyaml==3.*
vulture==0.10.*
bandit==1.1.*
nbformat>=4.*
pyflakes==1.2.* # Although we don't need this directly, solves a dep conflict
pyflakes==1.2.*
scspell3k==2.*
mypy-lang==0.4.*
15 changes: 15 additions & 0 deletions tests/python/PyFlakesBearTest.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
from bears.python.PyFlakesBear import PyFlakesBear
from tests.LocalBearTestHelper import verify_local_bear

good_file = """
print("Hi")
"""

bad_file = """
import os
print("Hi")
"""

PyFlakesBear = verify_local_bear(PyFlakesBear,
valid_files=(good_file,),
invalid_files=(bad_file,))

0 comments on commit 3b1316a

Please sign in to comment.