@@ -436,6 +436,8 @@ def leave_module(self, node):
436436 self ._first_non_import_node = None
437437
438438 def compute_first_non_import_node (self , node ):
439+ if not self .linter .is_message_enabled ('wrong-import-position' , node .fromlineno ):
440+ return
439441 # if the node does not contain an import instruction, and if it is the
440442 # first node of the module, keep a track of it (all the import positions
441443 # of the module will be compared to the position of this first
@@ -466,6 +468,8 @@ def compute_first_non_import_node(self, node):
466468 compute_first_non_import_node
467469
468470 def visit_functiondef (self , node ):
471+ if not self .linter .is_message_enabled ('wrong-import-position' , node .fromlineno ):
472+ return
469473 # If it is the first non import instruction of the module, record it.
470474 if self ._first_non_import_node :
471475 return
@@ -552,8 +556,8 @@ def _check_imports_order(self, _module_node):
552556 extern_imports = []
553557 local_imports = []
554558 std_imports = []
555- extern_not_nested = []
556- local_not_nested = []
559+ extern_not_ignored = []
560+ local_not_ignored = []
557561 isort_obj = isort .SortImports (
558562 file_contents = '' , known_third_party = self .config .known_third_party ,
559563 known_standard_library = self .config .known_standard_library ,
@@ -567,7 +571,7 @@ def _check_imports_order(self, _module_node):
567571 import_category = isort_obj .place_module (package )
568572 if import_category in ('FUTURE' , 'STDLIB' ):
569573 std_imports .append ((node , package ))
570- wrong_import = extern_not_nested or local_not_nested
574+ wrong_import = extern_not_ignored or local_not_ignored
571575 if self ._is_fallback_import (node , wrong_import ):
572576 continue
573577 if wrong_import and not nested :
@@ -576,17 +580,17 @@ def _check_imports_order(self, _module_node):
576580 '"%s"' % wrong_import [0 ][0 ].as_string ()))
577581 elif import_category in ('FIRSTPARTY' , 'THIRDPARTY' ):
578582 extern_imports .append ((node , package ))
579- if not nested :
580- extern_not_nested .append ((node , package ))
581- wrong_import = local_not_nested
583+ if not nested and self . linter . is_message_enabled ( 'wrong-import-order' , node . fromlineno ) :
584+ extern_not_ignored .append ((node , package ))
585+ wrong_import = local_not_ignored
582586 if wrong_import and not nested :
583587 self .add_message ('wrong-import-order' , node = node ,
584588 args = ('external import "%s"' % node .as_string (),
585589 '"%s"' % wrong_import [0 ][0 ].as_string ()))
586590 elif import_category == 'LOCALFOLDER' :
587591 local_imports .append ((node , package ))
588- if not nested :
589- local_not_nested .append ((node , package ))
592+ if not nested and self . linter . is_message_enabled ( 'wrong-import-order' , node . fromlineno ) :
593+ local_not_ignored .append ((node , package ))
590594 return std_imports , extern_imports , local_imports
591595
592596 def _get_imported_module (self , importnode , modname ):
0 commit comments