Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 9d3bf37

Browse files
author
arjunsinghy96
committedApr 25, 2017
Use PythonImportRequirement
Using PythonImportRequirement instead of PipRequirement for bears which import directly into the bear. Related to #1655
1 parent b07b50b commit 9d3bf37

16 files changed

+93
-33
lines changed
 

‎bears/general/InvalidLinkBear.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
from coalib.results.Diff import Diff
88
from coalib.bears.LocalBear import LocalBear
99
from coalib.misc.Enum import enum
10-
from dependency_management.requirements.PipRequirement import PipRequirement
10+
from dependency_management.requirements.PythonImportRequirement import (
11+
PythonImportRequirement)
1112
from coalib.results.RESULT_SEVERITY import RESULT_SEVERITY
1213
from coalib.results.Result import Result
1314
from coalib.bearlib import deprecate_settings
@@ -19,7 +20,7 @@
1920
class InvalidLinkBear(LocalBear):
2021
DEFAULT_TIMEOUT = 15
2122
LANGUAGES = {'All'}
22-
REQUIREMENTS = {PipRequirement('requests', '2.12')}
23+
REQUIREMENTS = {PythonImportRequirement('requests', '2.12')}
2324
AUTHORS = {'The coala developers'}
2425
AUTHORS_EMAILS = {'coala-devel@googlegroups.com'}
2526
LICENSE = 'AGPL-3.0'

‎bears/natural_language/LanguageToolBear.py

+6-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44

55
from coalib.bearlib import deprecate_settings
66
from coalib.bears.LocalBear import LocalBear
7-
from dependency_management.requirements.PipRequirement import PipRequirement
7+
from dependency_management.requirements.PythonImportRequirement import (
8+
PythonImportRequirement)
89
from coalib.results.Diff import Diff
910
from coalib.results.Result import Result
1011
from coalib.results.SourceRange import SourceRange
@@ -13,8 +14,10 @@
1314

1415
class LanguageToolBear(LocalBear):
1516
LANGUAGES = {'Natural Language'}
16-
REQUIREMENTS = {PipRequirement('guess-language-spirit', '0.5.2'),
17-
PipRequirement('language-check', '1.0')}
17+
REQUIREMENTS = {PythonImportRequirement('guess-language-spirit',
18+
'0.5.2',
19+
['guess_language.guess_language']),
20+
PythonImportRequirement('language-check', '1.0')}
1821
AUTHORS = {'The coala developers'}
1922
AUTHORS_EMAILS = {'coala-devel@googlegroups.com'}
2023
LICENSE = 'AGPL-3.0'

‎bears/python/PEP8Bear.py

+5-2
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,18 @@
33
from coalib.bearlib import deprecate_settings
44
from coalib.bearlib.spacing.SpacingHelper import SpacingHelper
55
from coalib.bears.LocalBear import LocalBear
6-
from dependency_management.requirements.PipRequirement import PipRequirement
6+
from dependency_management.requirements.PythonImportRequirement import (
7+
PythonImportRequirement)
78
from coalib.results.Diff import Diff
89
from coalib.results.Result import Result
910
from coalib.settings.Setting import typed_list
1011

1112

1213
class PEP8Bear(LocalBear):
1314
LANGUAGES = {'Python', 'Python 2', 'Python 3'}
14-
REQUIREMENTS = {PipRequirement('autopep8', '1.2')}
15+
REQUIREMENTS = {PythonImportRequirement('autopep8',
16+
'1.2',
17+
['autopep8.fix_code'])}
1518
AUTHORS = {'The coala developers'}
1619
AUTHORS_EMAILS = {'coala-devel@googlegroups.com'}
1720
LICENSE = 'AGPL-3.0'

‎bears/python/PEP8NotebookBear.py

+10-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33

44
from coalib.bearlib.spacing.SpacingHelper import SpacingHelper
55
from coalib.bears.LocalBear import LocalBear
6-
from dependency_management.requirements.PipRequirement import PipRequirement
6+
from dependency_management.requirements.PythonImportRequirement import (
7+
PythonImportRequirement)
78
from coalib.results.Diff import Diff
89
from coalib.results.Result import Result
910
from coalib.settings.Setting import typed_list
@@ -64,8 +65,14 @@ def autopep8_fix_code_cell(source, options=None, apply_config=None):
6465

6566
class PEP8NotebookBear(LocalBear):
6667
LANGUAGES = {'Python', 'Python 2', 'Python 3'}
67-
REQUIREMENTS = {PipRequirement('autopep8', '1.2'),
68-
PipRequirement('nbformat', '4.1')}
68+
REQUIREMENTS = {PythonImportRequirement('autopep8',
69+
'1.2',
70+
['autopep8.fix_code']),
71+
PythonImportRequirement('nbformat',
72+
'4.1',
73+
['nbformat.NO_CONVERT',
74+
'nbformat.reads',
75+
'nbformat.writes'])}
6976
AUTHORS = {'The coala developers'}
7077
AUTHORS_EMAILS = {'coala-devel@googlegroups.com'}
7178
LICENSE = 'AGPL-3.0'

‎bears/python/PyCommentedCodeBear.py

+8-2
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,20 @@
11
import eradicate
22

33
from coalib.bears.LocalBear import LocalBear
4-
from dependency_management.requirements.PipRequirement import PipRequirement
4+
from dependency_management.requirements.PythonImportRequirement import (
5+
PythonImportRequirement)
56
from coalib.results.Diff import Diff
67
from coalib.results.Result import Result
78

89

910
class PyCommentedCodeBear(LocalBear):
11+
1012
LANGUAGES = {'Python', 'Python 2', 'Python 3'}
11-
REQUIREMENTS = {PipRequirement('eradicate', '0.1.6')}
13+
REQUIREMENTS = {PythonImportRequirement(
14+
'eradicate',
15+
'0.1.6',
16+
['eradicat.filter_comented_out_code']
17+
)}
1218
AUTHORS = {'The coala developers'}
1319
AUTHORS_EMAILS = {'coala-devel@googlegroups.com'}
1420
LICENSE = 'AGPL-3.0'

‎bears/python/PyImportSortBear.py

+5-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
from coalib.bearlib import deprecate_settings
44
from coalib.bearlib.spacing.SpacingHelper import SpacingHelper
55
from coalib.bears.LocalBear import LocalBear
6-
from dependency_management.requirements.PipRequirement import PipRequirement
6+
from dependency_management.requirements.PythonImportRequirement import (
7+
PythonImportRequirement)
78
from coalib.results.Diff import Diff
89
from coalib.results.Result import Result
910
from coalib.settings.Setting import typed_list
@@ -12,7 +13,9 @@
1213
class PyImportSortBear(LocalBear):
1314

1415
LANGUAGES = {'Python', 'Python 3', 'Python 2'}
15-
REQUIREMENTS = {PipRequirement('isort', '4.2')}
16+
REQUIREMENTS = {PythonImportRequirement('isort',
17+
'4.2',
18+
['isort.SortImports'])}
1619
AUTHORS = {'The coala developers'}
1720
AUTHORS_EMAILS = {'coala-devel@googlegroups.com'}
1821
LICENSE = 'AGPL-3.0'

‎bears/python/PyUnusedCodeBear.py

+5-2
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
11
import autoflake
22

33
from coalib.bears.LocalBear import LocalBear
4-
from dependency_management.requirements.PipRequirement import PipRequirement
4+
from dependency_management.requirements.PythonImportRequirement import (
5+
PythonImportRequirement)
56
from coalib.results.Diff import Diff
67
from coalib.results.Result import Result
78

89

910
class PyUnusedCodeBear(LocalBear):
1011
LANGUAGES = {'Python', 'Python 2', 'Python 3'}
11-
REQUIREMENTS = {PipRequirement('autoflake', '0.6.6')}
12+
REQUIREMENTS = {PythonImportRequirement('autoflake',
13+
'0.6.6',
14+
['autoflake.fix_code'])}
1215
AUTHORS = {'The coala developers'}
1316
AUTHORS_EMAILS = {'coala-devel@googlegroups.com'}
1417
LICENSE = 'AGPL-3.0'

‎bears/python/PyromaBear.py

+6-2
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,17 @@
22
import pyroma
33

44
from coalib.bears.GlobalBear import GlobalBear
5-
from dependency_management.requirements.PipRequirement import PipRequirement
5+
from dependency_management.requirements.PythonImportRequirement import (
6+
PythonImportRequirement)
67
from coalib.results.Result import Result
78

89

910
class PyromaBear(GlobalBear):
1011
LANGUAGES = {'Python', 'Python 3'}
11-
REQUIREMENTS = {PipRequirement('pyroma', '2.2.0')}
12+
REQUIREMENTS = {PythonImportRequirement('pyroma',
13+
'2.2.0',
14+
['pyroma.projectdata.get_data',
15+
'pyroma.ratings.rate'])}
1216
AUTHORS = {'The coala developers'}
1317
AUTHORS_EMAILS = {'coala-devel@googlegroups.com'}
1418
LICENSE = 'AGPL-3.0'

‎bears/python/RadonBear.py

+6-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
import radon.visitors
33

44
from coalib.bears.LocalBear import LocalBear
5-
from dependency_management.requirements.PipRequirement import PipRequirement
5+
from dependency_management.requirements.PythonImportRequirement import (
6+
PythonImportRequirement)
67
from coalib.results.Result import Result
78
from coalib.results.RESULT_SEVERITY import RESULT_SEVERITY
89
from coalib.results.SourceRange import SourceRange
@@ -11,7 +12,10 @@
1112

1213
class RadonBear(LocalBear):
1314
LANGUAGES = {'Python', 'Python 2', 'Python 3'}
14-
REQUIREMENTS = {PipRequirement('radon', '1.4.0')}
15+
REQUIREMENTS = {PythonImportRequirement('radon',
16+
'1.4.0',
17+
['radon.complexity',
18+
'radon.visitors'])}
1519
AUTHORS = {'The coala developers'}
1620
AUTHORS_EMAILS = {'coala-devel@googlegroups.com'}
1721
LICENSE = 'AGPL-3.0'

‎bears/python/YapfBear.py

+7-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
from coalib.bearlib import deprecate_settings
44
from coalib.bearlib.spacing.SpacingHelper import SpacingHelper
55
from coalib.bears.LocalBear import LocalBear
6-
from dependency_management.requirements.PipRequirement import PipRequirement
6+
from dependency_management.requirements.PythonImportRequirement import (
7+
PythonImportRequirement)
78
from coala_utils.ContextManagers import prepare_file
89
from coalib.results.Result import Result
910
from coalib.results.Diff import Diff
@@ -12,7 +13,11 @@
1213
class YapfBear(LocalBear):
1314
LANGUAGES = {'Python', 'Python 2', 'Python 3'}
1415
AUTHORS = {'The coala developers'}
15-
REQUIREMENTS = {PipRequirement('yapf', '0.14.0')}
16+
REQUIREMENTS = {PythonImportRequirement(
17+
'yapf',
18+
'0.14.0',
19+
['yapf.yapflib.yapf_api.FormatCode']
20+
)}
1621
AUTHORS_EMAILS = {'coala-devel@googlegroups.com'}
1722
LICENSE = 'AGPL-3.0'
1823
CAN_FIX = {'Formatting'}

‎bears/python/requirements/PySafetyBear.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
from safety import safety
66

77
from coalib.bears.LocalBear import LocalBear
8-
from dependency_management.requirements.PipRequirement import PipRequirement
8+
from dependency_management.requirements.PythonImportRequirement import (
9+
PythonImportRequirement)
910
from coalib.results.Result import Result
1011
from coalib.results.SourceRange import SourceRange
1112
from coalib.settings.Setting import typed_list
@@ -30,7 +31,7 @@ class PySafetyBear(LocalBear):
3031
'Python 3 Requirements',
3132
}
3233
AUTHORS = {'Bence Nagy'}
33-
REQUIREMENTS = {PipRequirement('safety', '0.5.1')}
34+
REQUIREMENTS = {PythonImportRequirement('safety', '0.5.1')}
3435
AUTHORS_EMAILS = {'bence@underyx.me'}
3536
LICENSE = 'AGPL'
3637
CAN_DETECT = {'Security'}

‎bears/rest/reSTLintBear.py

+5-2
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
11
from restructuredtext_lint import lint
22

33
from coalib.bears.LocalBear import LocalBear
4-
from dependency_management.requirements.PipRequirement import PipRequirement
4+
from dependency_management.requirements.PythonImportRequirement import (
5+
PythonImportRequirement)
56
from coalib.results.Result import Result
67
from coalib.results.RESULT_SEVERITY import RESULT_SEVERITY
78

89

910
class reSTLintBear(LocalBear):
1011
LANGUAGES = {'reStructuredText'}
11-
REQUIREMENTS = {PipRequirement('restructuredtext-lint', '1.0.0')}
12+
REQUIREMENTS = {PythonImportRequirement('restructuredtext-lint',
13+
'1.0.0',
14+
['restructuredtext-lint.lint'])}
1215
AUTHORS = {'The coala developers'}
1316
AUTHORS_EMAILS = {'coala-devel@googlegroups.com'}
1417
LICENSE = 'AGPL-3.0'

‎bears/ruby/RuboCopBear.py

+5-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
from coalib.bearlib import deprecate_settings
55
from coalib.bearlib.abstractions.Linter import linter
66
from dependency_management.requirements.GemRequirement import GemRequirement
7-
from dependency_management.requirements.PipRequirement import PipRequirement
7+
from dependency_management.requirements.PythonImportRequirement import (
8+
PythonImportRequirement)
89
from coalib.results.RESULT_SEVERITY import RESULT_SEVERITY
910
from coalib.results.Result import Result
1011

@@ -20,7 +21,9 @@ class RuboCopBear:
2021

2122
LANGUAGES = {'Ruby'}
2223
REQUIREMENTS = {GemRequirement('rubocop', '0.47.1'),
23-
PipRequirement('pyyaml', '3.12')}
24+
PythonImportRequirement('pyyaml',
25+
'3.12',
26+
['yaml.dump'])}
2427
AUTHORS = {'The coala developers'}
2528
AUTHORS_EMAILS = {'coala-devel@googlegroups.com'}
2629
LICENSE = 'AGPL-3.0'

‎bears/scss/SCSSLintBear.py

+5-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22

33
from coalib.bearlib.abstractions.Linter import linter
44
from dependency_management.requirements.GemRequirement import GemRequirement
5-
from dependency_management.requirements.PipRequirement import PipRequirement
5+
from dependency_management.requirements.PythonImportRequirement import (
6+
PythonImportRequirement)
67

78

89
@linter(executable='scss-lint', output_format='regex',
@@ -19,7 +20,9 @@ class SCSSLintBear:
1920
# require flag is necessary for 'scss_lint'
2021
# https://github.com/brigade/scss-lint#installation
2122
REQUIREMENTS = {GemRequirement('scss_lint', '', 'false'),
22-
PipRequirement('pyyaml', '3.12')}
23+
PythonImportRequirement('pyyaml',
24+
'3.12',
25+
['yaml.dump'])}
2326
AUTHORS = {'The coala developers'}
2427
AUTHORS_EMAILS = {'coala-devel@googlegroups.com'}
2528
LICENSE = 'AGPL-3.0'

‎bears/vcs/git/GitCommitBear.py

+8-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
from urllib.parse import urlparse
66

77
from coalib.bears.GlobalBear import GlobalBear
8-
from dependency_management.requirements.PipRequirement import PipRequirement
8+
from dependency_management.requirements.PythonImportRequirement import (
9+
PythonImportRequirement)
910
from coala_utils.ContextManagers import change_directory
1011
from coalib.misc.Shell import run_shell_command
1112
from coalib.results.Result import Result
@@ -15,7 +16,12 @@
1516

1617
class GitCommitBear(GlobalBear):
1718
LANGUAGES = {'Git'}
18-
REQUIREMENTS = {PipRequirement('nltk', '3.2')}
19+
REQUIREMENTS = {PythonImportRequirement('nltk',
20+
'3.2',
21+
['nltk.download',
22+
'nltk.pos_tag',
23+
'nltk.sent_tokenize',
24+
'nltk.word_tokenize'])}
1925
AUTHORS = {'The coala developers'}
2026
AUTHORS_EMAILS = {'coala-devel@googlegroups.com'}
2127
LICENSE = 'AGPL-3.0'

‎bears/yaml/YAMLLintBear.py

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
from coalib.bearlib.abstractions.Linter import linter
22
from coalib.results.RESULT_SEVERITY import RESULT_SEVERITY
33
from dependency_management.requirements.PipRequirement import PipRequirement
4+
from dependency_management.requirements.PythonImportRequirement import (
5+
PythonImportRequirement)
46
import yaml
57

68

@@ -19,7 +21,10 @@ class YAMLLintBear:
1921
"""
2022

2123
LANGUAGES = {'YAML'}
22-
REQUIREMENTS = {PipRequirement('yamllint', '1.6.1')}
24+
REQUIREMENTS = {PipRequirement('yamllint', '1.6.1'),
25+
PythonImportRequirement('pyyaml',
26+
'3.12',
27+
['yaml.dump'])}
2328
AUTHORS = {'The coala developers'}
2429
AUTHORS_EMAILS = {'coala-devel@googlegroups.com'}
2530
LICENSE = 'AGPL-3.0'

0 commit comments

Comments
 (0)
Please sign in to comment.