Path 1: 50 calls (1.0)

ImportFrom (50)

1def visit_importfrom(self, node: nodes.ImportFrom) -> None:
2        """Visit an astroid.ImportFrom node.
3
4        resolve module dependencies
5        """
6        basename = node.modname
7        context_file = node.root().file
8        if context_file is not None:
9            relative = astroid.modutils.is_relative(basename, context_file)
10        else:
11            relative = False
12        for name in node.names:
13            if name[0] == "*":
14                continue
15            # analyze dependencies
16            fullname = f"{basename}.{name[0]}"
17            if fullname.find(".") > -1:
18                try:
19                    fullname = astroid.modutils.get_module_part(fullname, context_file)
20                except ImportError:
21                    continue
22            if fullname != basename:
23                self._imported_module(node, fullname, relative)