-
Notifications
You must be signed in to change notification settings - Fork 32
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Check if default_app_config is used on Django 1.7+
- Loading branch information
1 parent
917f196
commit 7719615
Showing
9 changed files
with
65 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -102,3 +102,6 @@ venv.bak/ | |
|
||
# mypy | ||
.mypy_cache/ | ||
|
||
# IntelliJ | ||
.idea |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,9 @@ | ||
from .default_app_config import DefaultAppConfigChecker | ||
from .model_dunder_str import ModelDunderStrMissingChecker | ||
from .model_fields import ModelFieldChecker | ||
from .model_form import ModelFormChecker | ||
from .render import RenderChecker | ||
from .urls import URLChecker | ||
|
||
|
||
__all__ = ['ModelDunderStrMissingChecker', 'ModelFieldChecker', 'ModelFormChecker', 'RenderChecker', 'URLChecker'] | ||
__all__ = ['DefaultAppConfigChecker', 'ModelDunderStrMissingChecker', 'ModelFieldChecker', 'ModelFormChecker', 'RenderChecker', 'URLChecker'] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
import ast | ||
|
||
import django | ||
|
||
from .checker import Checker | ||
from .issue import Issue | ||
|
||
|
||
class DJ09(Issue): | ||
code = 'DJ09' | ||
description = 'New applications should avoid default_app_config' | ||
|
||
|
||
class DefaultAppConfigChecker(Checker): | ||
|
||
def run(self, node): | ||
if django.VERSION < (1, 7): | ||
return [] | ||
issues = [] | ||
for elem in node.body: | ||
if not isinstance(elem, ast.Assign): | ||
continue | ||
target_names = map(lambda n: n.id == 'default_app_config', elem.targets) | ||
if any(target_names): | ||
issues.append(DJ09( | ||
elem.lineno, | ||
elem.col_offset, | ||
)) | ||
return issues |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
default_app_config = 'foobar' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
import django | ||
|
||
from .utils import run_check, load_fixture_file | ||
|
||
|
||
def test_default_app_config_django_16(monkeypatch): | ||
monkeypatch.setattr(django, 'VERSION', (1, 6)) | ||
code = load_fixture_file('default_app_config.py') | ||
assert len(run_check(code)) == 0 | ||
|
||
|
||
def test_default_app_config_django_17(monkeypatch): | ||
monkeypatch.setattr(django, 'VERSION', (1, 7)) | ||
code = load_fixture_file('default_app_config.py') | ||
assert len(run_check(code)) == 1 | ||
assert 'DJ09' in run_check(code)[0][2] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters