@@ -322,7 +322,6 @@ def _make_graph(
322322DEFAULT_PREFERRED_MODULES = ()
323323
324324
325- # pylint: disable-next = too-many-instance-attributes
326325class ImportsChecker (DeprecatedMixin , BaseChecker ):
327326 """BaseChecker for import statements.
328327
@@ -747,16 +746,13 @@ def _is_fallback_import(
747746 imports = [import_node for (import_node , _ ) in imports ]
748747 return any (astroid .are_exclusive (import_node , node ) for import_node in imports )
749748
750- def _check_imports_order (self , _module_node : nodes .Module ) -> tuple [
751- list [tuple [ImportNode , str ]],
752- list [tuple [ImportNode , str ]],
753- list [tuple [ImportNode , str ]],
754- ]:
755- """Checks imports of module `node` are grouped by category.
749+ @property
750+ def _isort_config (self ):
751+ """Get the config for use with isort
756752
757- Imports must follow this order: standard, 3rd party, local
753+ Only valid after CLI parsing finished, i.e. not in __init__
758754 """
759- isort_config = isort .Config (
755+ return isort .Config (
760756 # There is no typo here. EXTRA_standard_library is
761757 # what most users want. The option has been named
762758 # KNOWN_standard_library for ages in pylint, and we
@@ -765,6 +761,15 @@ def _check_imports_order(self, _module_node: nodes.Module) -> tuple[
765761 known_third_party = self .linter .config .known_third_party ,
766762 )
767763
764+ def _check_imports_order (self , _module_node : nodes .Module ) -> tuple [
765+ list [tuple [ImportNode , str ]],
766+ list [tuple [ImportNode , str ]],
767+ list [tuple [ImportNode , str ]],
768+ ]:
769+ """Checks imports of module `node` are grouped by category.
770+
771+ Imports must follow this order: standard, 3rd party, 1st party, local
772+ """
768773 std_imports : list [tuple [ImportNode , str ]] = []
769774 third_party_imports : list [tuple [ImportNode , str ]] = []
770775 first_party_imports : list [tuple [ImportNode , str ]] = []
@@ -783,7 +788,7 @@ def _check_imports_order(self, _module_node: nodes.Module) -> tuple[
783788 ignore_for_import_order = not self .linter .is_message_enabled (
784789 "wrong-import-order" , node .fromlineno
785790 )
786- import_category = isort .place_module (package , config = isort_config )
791+ import_category = isort .place_module (package , config = self . _isort_config )
787792 node_and_package_import = (node , package )
788793
789794 match import_category :
0 commit comments