|
1 |
| -from pylint.checkers.base import DocStringChecker |
| 1 | +from pylint.checkers.base import DocStringChecker, NameChecker |
2 | 2 | from pylint.checkers.design_analysis import MisdesignChecker
|
3 | 3 | from pylint.checkers.classes import ClassChecker
|
4 | 4 | from pylint.checkers.newstyle import NewStyleConflictChecker
|
@@ -156,6 +156,21 @@ def is_model_field_display_method(node):
|
156 | 156 | return False
|
157 | 157 |
|
158 | 158 |
|
| 159 | +def is_model_media_valid_attributes(node): |
| 160 | + """Suppress warnings for valid attributes of Media class.""" |
| 161 | + if node.name not in ('js', ): |
| 162 | + return False |
| 163 | + |
| 164 | + parent = node.parent |
| 165 | + while parent and not isinstance(parent, ScopedClass): |
| 166 | + parent = parent.parent |
| 167 | + |
| 168 | + if parent == None or parent.name != "Media": |
| 169 | + return False |
| 170 | + |
| 171 | + return True |
| 172 | + |
| 173 | + |
159 | 174 | def is_class(class_name):
|
160 | 175 | return lambda node: node_is_subclass(node, class_name)
|
161 | 176 |
|
@@ -183,6 +198,7 @@ def apply_augmentations(linter):
|
183 | 198 | suppress_message(linter, MisdesignChecker.leave_class, 'R0903', is_model_meta_subclass)
|
184 | 199 |
|
185 | 200 | # Media
|
| 201 | + suppress_message(linter, NameChecker.visit_assname, 'C0103', is_model_media_valid_attributes) |
186 | 202 | suppress_message(linter, DocStringChecker.visit_class, 'C0111', is_model_media_subclass)
|
187 | 203 | suppress_message(linter, NewStyleConflictChecker.visit_class, 'C1001', is_model_media_subclass)
|
188 | 204 | suppress_message(linter, ClassChecker.visit_class, 'W0232', is_model_media_subclass)
|
|
0 commit comments