Skip to content

Commit

Permalink
Support factory_boy's DjangoModelFactory Meta class
Browse files Browse the repository at this point in the history
Added suppressions for [DjangoModelFactory](http://factoryboy.readthedocs.io/en/2.9.2/orms.html#the-djangomodelfactory-subclass).

Original PR: #103
  • Loading branch information
kouk authored and atodorov committed Jan 18, 2018
1 parent db2f3e6 commit b2488f5
Showing 1 changed file with 16 additions and 0 deletions.
16 changes: 16 additions & 0 deletions pylint_django/augmentations/__init__.py
Expand Up @@ -407,6 +407,16 @@ def is_model_meta_subclass(node):
return node_is_subclass(node.parent, *parents)


def is_model_factory_meta_subclass(node):
"""Checks that node is derivative of DjangoModelFactory class."""
if node.name != 'Meta' or not isinstance(node.parent, ClassDef):
return False

parents = ('factory.django.DjangoModelFactory',
'.DjangoModelFactory',)
return node_is_subclass(node.parent, *parents)


def is_model_mpttmeta_subclass(node):
"""Checks that node is derivative of MPTTMeta class."""
if node.name != 'MPTTMeta' or not isinstance(node.parent, ClassDef):
Expand Down Expand Up @@ -765,6 +775,12 @@ def apply_augmentations(linter):
suppress_message(linter, _visit_class(ClassChecker), 'W0232', is_model_mpttmeta_subclass)
suppress_message(linter, _leave_class(MisdesignChecker), 'too-few-public-methods', is_model_mpttmeta_subclass)

# factory_boy's DjangoModelFactory
suppress_message(linter, _visit_class(DocStringChecker), 'missing-docstring', is_model_factory_meta_subclass)
suppress_message(linter, _visit_class(NewStyleConflictChecker), 'old-style-class', is_model_factory_meta_subclass)
suppress_message(linter, _visit_class(ClassChecker), 'W0232', is_model_factory_meta_subclass)
suppress_message(linter, _leave_class(MisdesignChecker), 'too-few-public-methods', is_model_factory_meta_subclass)

# ForeignKey and OneToOneField
# Must update this in a thread safe way to support the parallel option on pylint (-j)
current_leave_module = VariablesChecker.leave_module
Expand Down

0 comments on commit b2488f5

Please sign in to comment.