@@ -424,6 +424,8 @@ def leave_module(self, node):
424424 self ._first_non_import_node = None
425425
426426 def compute_first_non_import_node (self , node ):
427+ if not self .linter .is_message_enabled ('wrong-import-position' , node .fromlineno ):
428+ return
427429 # if the node does not contain an import instruction, and if it is the
428430 # first node of the module, keep a track of it (all the import positions
429431 # of the module will be compared to the position of this first
@@ -454,6 +456,8 @@ def compute_first_non_import_node(self, node):
454456 compute_first_non_import_node
455457
456458 def visit_functiondef (self , node ):
459+ if not self .linter .is_message_enabled ('wrong-import-position' , node .fromlineno ):
460+ return
457461 # If it is the first non import instruction of the module, record it.
458462 if self ._first_non_import_node :
459463 return
@@ -540,8 +544,8 @@ def _check_imports_order(self, node):
540544 extern_imports = []
541545 local_imports = []
542546 std_imports = []
543- extern_not_nested = []
544- local_not_nested = []
547+ extern_not_ignored = []
548+ local_not_ignored = []
545549 isort_obj = isort .SortImports (
546550 file_contents = '' , known_third_party = self .config .known_third_party ,
547551 known_standard_library = self .config .known_standard_library ,
@@ -555,7 +559,7 @@ def _check_imports_order(self, node):
555559 import_category = isort_obj .place_module (package )
556560 if import_category in ('FUTURE' , 'STDLIB' ):
557561 std_imports .append ((node , package ))
558- wrong_import = extern_not_nested or local_not_nested
562+ wrong_import = extern_not_ignored or local_not_ignored
559563 if self ._is_fallback_import (node , wrong_import ):
560564 continue
561565 if wrong_import and not nested :
@@ -564,17 +568,17 @@ def _check_imports_order(self, node):
564568 '"%s"' % wrong_import [0 ][0 ].as_string ()))
565569 elif import_category in ('FIRSTPARTY' , 'THIRDPARTY' ):
566570 extern_imports .append ((node , package ))
567- if not nested :
568- extern_not_nested .append ((node , package ))
569- wrong_import = local_not_nested
571+ if not nested and self . linter . is_message_enabled ( 'wrong-import-order' , node . fromlineno ) :
572+ extern_not_ignored .append ((node , package ))
573+ wrong_import = local_not_ignored
570574 if wrong_import and not nested :
571575 self .add_message ('wrong-import-order' , node = node ,
572576 args = ('external import "%s"' % node .as_string (),
573577 '"%s"' % wrong_import [0 ][0 ].as_string ()))
574578 elif import_category == 'LOCALFOLDER' :
575579 local_imports .append ((node , package ))
576- if not nested :
577- local_not_nested .append ((node , package ))
580+ if not nested and self . linter . is_message_enabled ( 'wrong-import-order' , node . fromlineno ) :
581+ local_not_ignored .append ((node , package ))
578582 return std_imports , extern_imports , local_imports
579583
580584 def _get_imported_module (self , importnode , modname ):
0 commit comments