Skip to content

Commit dd4c5f4

Browse files
author
carlio
committed
Adding in compatability so that visit_classdef is not called on NewStyleConflictChecker after pylint 2.1
1 parent c0408d7 commit dd4c5f4

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

pylint_django/augmentations/__init__.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -745,6 +745,14 @@ def is_wsgi_application(node):
745745
(frame.name == 'wsgi' or frame.path[0].endswith('wsgi.py') or frame.file.endswith('wsgi.py'))
746746

747747

748+
# Compat helpers
749+
def pylint_newstyle_classdef_compat(linter, warning_name, augment):
750+
if not hasattr(NewStyleConflictChecker, 'visit_classdef'):
751+
return
752+
suppress_message(linter, NewStyleConflictChecker.visit_classdef, 'old-style-class', is_model_meta_subclass)
753+
754+
755+
# augment things
748756
def apply_augmentations(linter):
749757
"""Apply augmentation and suppression rules."""
750758
augment_visit(linter, TypeChecker.visit_attribute, foreign_key_sets)
@@ -787,15 +795,15 @@ def apply_augmentations(linter):
787795

788796
# Meta
789797
suppress_message(linter, DocStringChecker.visit_classdef, 'missing-docstring', is_model_meta_subclass)
790-
suppress_message(linter, NewStyleConflictChecker.visit_classdef, 'old-style-class', is_model_meta_subclass)
798+
pylint_newstyle_classdef_compat(linter, 'old-style-class', is_model_meta_subclass)
791799
suppress_message(linter, ClassChecker.visit_classdef, 'no-init', is_model_meta_subclass)
792800
suppress_message(linter, MisdesignChecker.leave_classdef, 'too-few-public-methods', is_model_meta_subclass)
793801
suppress_message(linter, ClassChecker.visit_attribute, 'protected-access', allow_meta_protected_access)
794802

795803
# Media
796804
suppress_message(linter, NameChecker.visit_assignname, 'C0103', is_model_media_valid_attributes)
797805
suppress_message(linter, DocStringChecker.visit_classdef, 'missing-docstring', is_model_media_subclass)
798-
suppress_message(linter, NewStyleConflictChecker.visit_classdef, 'old-style-class', is_model_media_subclass)
806+
pylint_newstyle_classdef_compat(linter, 'old-style-class', is_model_media_subclass)
799807
suppress_message(linter, ClassChecker.visit_classdef, 'no-init', is_model_media_subclass)
800808
suppress_message(linter, MisdesignChecker.leave_classdef, 'too-few-public-methods', is_model_media_subclass)
801809

@@ -823,7 +831,7 @@ def apply_augmentations(linter):
823831

824832
# django-mptt
825833
suppress_message(linter, DocStringChecker.visit_classdef, 'missing-docstring', is_model_mpttmeta_subclass)
826-
suppress_message(linter, NewStyleConflictChecker.visit_classdef, 'old-style-class', is_model_mpttmeta_subclass)
834+
pylint_newstyle_classdef_compat(linter, 'old-style-class', is_model_mpttmeta_subclass)
827835
suppress_message(linter, ClassChecker.visit_classdef, 'W0232', is_model_mpttmeta_subclass)
828836
suppress_message(linter, MisdesignChecker.leave_classdef, 'too-few-public-methods', is_model_mpttmeta_subclass)
829837

0 commit comments

Comments
 (0)