Path 1: 989 calls (0.77)

ImportFrom (521) Import (468)

'typing' (153) 'os' (86) 'collections' (63) 'sys' (56) '__future__' (52) 'abc' (37) 're' (32) '' (29) 'dataclasses' (29) 'enum' (23)

Module (989)

1def _get_imported_module(
2        self, importnode: ImportNode, modname: str | None
3    ) -> nodes.Module | None:
4        try:
5            return importnode.do_import_module(modname)
6        except astroid.TooManyLevelsError:
7            if _ignore_import_failure(importnode, modname, self._ignored_modules):
8                return None
9            self.add_message("relative-beyond-top-level", node=importnode)
10        except astroid.AstroidSyntaxError as exc:
11            message = f"Cannot import {modname!r} due to '{exc.error}'"
12            self.add_message(
13                "syntax-error", line=importnode.lineno, args=message, confidence=HIGH
14            )
15
16        except astroid.AstroidBuildingError:
17            if not self.linter.is_message_enabled("import-error"):
18                return None
19            if _ignore_import_failure(importnode, modname, self._ignored_modules):
20                return None
21            if (
22                not self.linter.config.analyse_fallback_blocks
23                and is_from_fallback_block(importnode)
24            ):
25                return None
26
27            dotted_modname = get_import_name(importnode, modname)
28            self.add_message("import-error", args=repr(dotted_modname), node=importnode)
29        except Exception as e:  # pragma: no cover
30            raise astroid.AstroidError from e
31        return None
            

Path 2: 237 calls (0.19)

Import (121) ImportFrom (116)

'nonexistent' (21) 'missing' (19) 'six' (18) 'unknown' (15) 'foo' (6) 'classes' (5) 'foo.bar' (5) 'numpy' (5) 'UNINFERABLE' (4) 'y' (4)

None (237)

AstroidImportError (237)

1def _get_imported_module(
2        self, importnode: ImportNode, modname: str | None
3    ) -> nodes.Module | None:
4        try:
5            return importnode.do_import_module(modname)
6        except astroid.TooManyLevelsError:
7            if _ignore_import_failure(importnode, modname, self._ignored_modules):
8                return None
9            self.add_message("relative-beyond-top-level", node=importnode)
10        except astroid.AstroidSyntaxError as exc:
11            message = f"Cannot import {modname!r} due to '{exc.error}'"
12            self.add_message(
13                "syntax-error", line=importnode.lineno, args=message, confidence=HIGH
14            )
15
16        except astroid.AstroidBuildingError:
17            if not self.linter.is_message_enabled("import-error"):
18                return None
19            if _ignore_import_failure(importnode, modname, self._ignored_modules):
20                return None
21            if (
22                not self.linter.config.analyse_fallback_blocks
23                and is_from_fallback_block(importnode)
24            ):
25                return None
26
27            dotted_modname = get_import_name(importnode, modname)
28            self.add_message("import-error", args=repr(dotted_modname), node=importnode)
29        except Exception as e:  # pragma: no cover
30            raise astroid.AstroidError from e
31        return None
            

Path 3: 40 calls (0.03)

Import (31) ImportFrom (9)

'foo2' (6) 'stub_import' (4) 'some_module' (3) '_types' (2) 'urllib2' (2) 'collections.missing' (2) 'some_module_alt' (2) 'external_module' (2) 'foo' ...

None (40)

AstroidImportError (40)

1def _get_imported_module(
2        self, importnode: ImportNode, modname: str | None
3    ) -> nodes.Module | None:
4        try:
5            return importnode.do_import_module(modname)
6        except astroid.TooManyLevelsError:
7            if _ignore_import_failure(importnode, modname, self._ignored_modules):
8                return None
9            self.add_message("relative-beyond-top-level", node=importnode)
10        except astroid.AstroidSyntaxError as exc:
11            message = f"Cannot import {modname!r} due to '{exc.error}'"
12            self.add_message(
13                "syntax-error", line=importnode.lineno, args=message, confidence=HIGH
14            )
15
16        except astroid.AstroidBuildingError:
17            if not self.linter.is_message_enabled("import-error"):
18                return None
19            if _ignore_import_failure(importnode, modname, self._ignored_modules):
20                return None
21            if (
22                not self.linter.config.analyse_fallback_blocks
23                and is_from_fallback_block(importnode)
24            ):
25                return None
26
27            dotted_modname = get_import_name(importnode, modname)
28            self.add_message("import-error", args=repr(dotted_modname), node=importnode)
29        except Exception as e:  # pragma: no cover
30            raise astroid.AstroidError from e
31        return None
            

Path 4: 4 calls (0.0)

ImportFrom (3) Import (1)

'deprecated' (2) 'lower_level.helper_function' (2)

None (4)

AstroidImportError (4)

1def _get_imported_module(
2        self, importnode: ImportNode, modname: str | None
3    ) -> nodes.Module | None:
4        try:
5            return importnode.do_import_module(modname)
6        except astroid.TooManyLevelsError:
7            if _ignore_import_failure(importnode, modname, self._ignored_modules):
8                return None
9            self.add_message("relative-beyond-top-level", node=importnode)
10        except astroid.AstroidSyntaxError as exc:
11            message = f"Cannot import {modname!r} due to '{exc.error}'"
12            self.add_message(
13                "syntax-error", line=importnode.lineno, args=message, confidence=HIGH
14            )
15
16        except astroid.AstroidBuildingError:
17            if not self.linter.is_message_enabled("import-error"):
18                return None
19            if _ignore_import_failure(importnode, modname, self._ignored_modules):
20                return None
21            if (
22                not self.linter.config.analyse_fallback_blocks
23                and is_from_fallback_block(importnode)
24            ):
25                return None
26
27            dotted_modname = get_import_name(importnode, modname)
28            self.add_message("import-error", args=repr(dotted_modname), node=importnode)
29        except Exception as e:  # pragma: no cover
30            raise astroid.AstroidError from e
31        return None
            

Path 5: 4 calls (0.0)

ImportFrom (4)

'other_file' (1) 'parent' (1) 'a' (1) '' (1)

None (4)

TooManyLevelsError (4)

1def _get_imported_module(
2        self, importnode: ImportNode, modname: str | None
3    ) -> nodes.Module | None:
4        try:
5            return importnode.do_import_module(modname)
6        except astroid.TooManyLevelsError:
7            if _ignore_import_failure(importnode, modname, self._ignored_modules):
8                return None
9            self.add_message("relative-beyond-top-level", node=importnode)
10        except astroid.AstroidSyntaxError as exc:
11            message = f"Cannot import {modname!r} due to '{exc.error}'"
12            self.add_message(
13                "syntax-error", line=importnode.lineno, args=message, confidence=HIGH
14            )
15
16        except astroid.AstroidBuildingError:
17            if not self.linter.is_message_enabled("import-error"):
18                return None
19            if _ignore_import_failure(importnode, modname, self._ignored_modules):
20                return None
21            if (
22                not self.linter.config.analyse_fallback_blocks
23                and is_from_fallback_block(importnode)
24            ):
25                return None
26
27            dotted_modname = get_import_name(importnode, modname)
28            self.add_message("import-error", args=repr(dotted_modname), node=importnode)
29        except Exception as e:  # pragma: no cover
30            raise astroid.AstroidError from e
31        return None
            

Path 6: 4 calls (0.0)

Import (3) ImportFrom (1)

'maybe_missing' (1) 'collections.missing' (1) 'collections.emit1' (1) 'singledispatch' (1)

None (4)

AstroidImportError (4)

1def _get_imported_module(
2        self, importnode: ImportNode, modname: str | None
3    ) -> nodes.Module | None:
4        try:
5            return importnode.do_import_module(modname)
6        except astroid.TooManyLevelsError:
7            if _ignore_import_failure(importnode, modname, self._ignored_modules):
8                return None
9            self.add_message("relative-beyond-top-level", node=importnode)
10        except astroid.AstroidSyntaxError as exc:
11            message = f"Cannot import {modname!r} due to '{exc.error}'"
12            self.add_message(
13                "syntax-error", line=importnode.lineno, args=message, confidence=HIGH
14            )
15
16        except astroid.AstroidBuildingError:
17            if not self.linter.is_message_enabled("import-error"):
18                return None
19            if _ignore_import_failure(importnode, modname, self._ignored_modules):
20                return None
21            if (
22                not self.linter.config.analyse_fallback_blocks
23                and is_from_fallback_block(importnode)
24            ):
25                return None
26
27            dotted_modname = get_import_name(importnode, modname)
28            self.add_message("import-error", args=repr(dotted_modname), node=importnode)
29        except Exception as e:  # pragma: no cover
30            raise astroid.AstroidError from e
31        return None
            

Path 7: 2 calls (0.0)

ImportFrom (2)

'functional.s.syntax.syntax_error' (1) '' (1)

None (2)

AstroidSyntaxError (2)

1def _get_imported_module(
2        self, importnode: ImportNode, modname: str | None
3    ) -> nodes.Module | None:
4        try:
5            return importnode.do_import_module(modname)
6        except astroid.TooManyLevelsError:
7            if _ignore_import_failure(importnode, modname, self._ignored_modules):
8                return None
9            self.add_message("relative-beyond-top-level", node=importnode)
10        except astroid.AstroidSyntaxError as exc:
11            message = f"Cannot import {modname!r} due to '{exc.error}'"
12            self.add_message(
13                "syntax-error", line=importnode.lineno, args=message, confidence=HIGH
14            )
15
16        except astroid.AstroidBuildingError:
17            if not self.linter.is_message_enabled("import-error"):
18                return None
19            if _ignore_import_failure(importnode, modname, self._ignored_modules):
20                return None
21            if (
22                not self.linter.config.analyse_fallback_blocks
23                and is_from_fallback_block(importnode)
24            ):
25                return None
26
27            dotted_modname = get_import_name(importnode, modname)
28            self.add_message("import-error", args=repr(dotted_modname), node=importnode)
29        except Exception as e:  # pragma: no cover
30            raise astroid.AstroidError from e
31        return None
            

Path 8: 1 calls (0.0)

ImportFrom (1)

'' (1)

None (1)

TooManyLevelsError (1)

1def _get_imported_module(
2        self, importnode: ImportNode, modname: str | None
3    ) -> nodes.Module | None:
4        try:
5            return importnode.do_import_module(modname)
6        except astroid.TooManyLevelsError:
7            if _ignore_import_failure(importnode, modname, self._ignored_modules):
8                return None
9            self.add_message("relative-beyond-top-level", node=importnode)
10        except astroid.AstroidSyntaxError as exc:
11            message = f"Cannot import {modname!r} due to '{exc.error}'"
12            self.add_message(
13                "syntax-error", line=importnode.lineno, args=message, confidence=HIGH
14            )
15
16        except astroid.AstroidBuildingError:
17            if not self.linter.is_message_enabled("import-error"):
18                return None
19            if _ignore_import_failure(importnode, modname, self._ignored_modules):
20                return None
21            if (
22                not self.linter.config.analyse_fallback_blocks
23                and is_from_fallback_block(importnode)
24            ):
25                return None
26
27            dotted_modname = get_import_name(importnode, modname)
28            self.add_message("import-error", args=repr(dotted_modname), node=importnode)
29        except Exception as e:  # pragma: no cover
30            raise astroid.AstroidError from e
31        return None