@check_messages(*MSGS)<EOL><INDENT>def visit_importfrom(self, node):<DEDENT>
basename = node.modname<EOL>imported_module = self._get_imported_module(node, basename)<EOL>self._check_import_as_rename(node)<EOL>self._check_misplaced_future(node)<EOL>self._check_deprecated_module(node, basename)<EOL>self._check_preferred_module(node, basename)<EOL>self._check_wildcard_imports(node, imported_module)<EOL>self._check_same_line_imports(node)<EOL>self._check_reimport(node, basename=basename, level=node.level)<EOL>if isinstance(node.parent, astroid.Module):<EOL><INDENT>self._check_position(node)<EOL><DEDENT>if isinstance(node.scope(), astroid.Module):<EOL><INDENT>self._record_import(node, imported_module)<EOL><DEDENT>if imported_module is None:<EOL><INDENT>return<EOL><DEDENT>modnode = node.root()<EOL>self._check_relative_import(modnode, node, imported_module, basename)<EOL>for name, _ in node.names:<EOL><INDENT>if name != "<STR_LIT:*>":<EOL><INDENT>self._add_imported_module(node, "<STR_LIT>" % (imported_module.name, name))<EOL><DEDENT>else:<EOL><INDENT>self._add_imported_module(node, imported_module.name)<EOL><DEDENT><DEDENT>
triggered when a from statement is seen