@@ -745,6 +745,14 @@ def is_wsgi_application(node):
745
745
(frame .name == 'wsgi' or frame .path [0 ].endswith ('wsgi.py' ) or frame .file .endswith ('wsgi.py' ))
746
746
747
747
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
748
756
def apply_augmentations (linter ):
749
757
"""Apply augmentation and suppression rules."""
750
758
augment_visit (linter , TypeChecker .visit_attribute , foreign_key_sets )
@@ -787,15 +795,15 @@ def apply_augmentations(linter):
787
795
788
796
# Meta
789
797
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 )
791
799
suppress_message (linter , ClassChecker .visit_classdef , 'no-init' , is_model_meta_subclass )
792
800
suppress_message (linter , MisdesignChecker .leave_classdef , 'too-few-public-methods' , is_model_meta_subclass )
793
801
suppress_message (linter , ClassChecker .visit_attribute , 'protected-access' , allow_meta_protected_access )
794
802
795
803
# Media
796
804
suppress_message (linter , NameChecker .visit_assignname , 'C0103' , is_model_media_valid_attributes )
797
805
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 )
799
807
suppress_message (linter , ClassChecker .visit_classdef , 'no-init' , is_model_media_subclass )
800
808
suppress_message (linter , MisdesignChecker .leave_classdef , 'too-few-public-methods' , is_model_media_subclass )
801
809
@@ -823,7 +831,7 @@ def apply_augmentations(linter):
823
831
824
832
# django-mptt
825
833
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 )
827
835
suppress_message (linter , ClassChecker .visit_classdef , 'W0232' , is_model_mpttmeta_subclass )
828
836
suppress_message (linter , MisdesignChecker .leave_classdef , 'too-few-public-methods' , is_model_mpttmeta_subclass )
829
837
0 commit comments