Пример #1
0
    def _get_imported_module(self, importnode, modname):
        try:
            return importnode.do_import_module(modname)
        except astroid.TooManyLevelsError:
            if _ignore_import_failure(importnode, modname,
                                      self._ignored_modules):
                return None
            self.add_message("relative-beyond-top-level", node=importnode)
        except astroid.AstroidSyntaxError as exc:
            message = "Cannot import {!r} due to syntax error {!r}".format(
                modname,
                str(exc.error)  # pylint: disable=no-member; false positive
            )
            self.add_message("syntax-error",
                             line=importnode.lineno,
                             args=message)

        except astroid.AstroidBuildingException:
            if not self.linter.is_message_enabled("import-error"):
                return None
            if _ignore_import_failure(importnode, modname,
                                      self._ignored_modules):
                return None
            if not self.config.analyse_fallback_blocks and is_from_fallback_block(
                    importnode):
                return None

            dotted_modname = _get_import_name(importnode, modname)
            self.add_message("import-error",
                             args=repr(dotted_modname),
                             node=importnode)
Пример #2
0
    def _get_imported_module(self, importnode, modname):
        try:
            return importnode.do_import_module(modname)
        except astroid.TooManyLevelsError:
            if _ignore_import_failure(importnode, modname, self._ignored_modules):
                return None

            self.add_message("relative-beyond-top-level", node=importnode)
        except astroid.AstroidSyntaxError as exc:
            message = "Cannot import {!r} due to syntax error {!r}".format(
                modname, str(exc.error)  # pylint: disable=no-member; false positive
            )
            self.add_message("syntax-error", line=importnode.lineno, args=message)

        except astroid.AstroidBuildingException:
            if not self.linter.is_message_enabled("import-error"):
                return None
            if _ignore_import_failure(importnode, modname, self._ignored_modules):
                return None
            if not self.config.analyse_fallback_blocks and is_from_fallback_block(
                importnode
            ):
                return None

            dotted_modname = _get_import_name(importnode, modname)
            self.add_message("import-error", args=repr(dotted_modname), node=importnode)
Пример #3
0
    def _get_imported_module(self, importnode, modname):
        try:
            return importnode.do_import_module(modname)
        except astroid.TooManyLevelsError:
            if _ignore_import_failure(importnode, modname, self._ignored_modules):
                return None

            self.add_message("relative-beyond-top-level", node=importnode)

        except astroid.AstroidBuildingException:
            if _ignore_import_failure(importnode, modname, self._ignored_modules):
                return None
            if not self.config.analyse_fallback_blocks and is_from_fallback_block(importnode):
                return None

            dotted_modname = _get_import_name(importnode, modname)
            self.add_message("import-error", args=repr(dotted_modname), node=importnode)
Пример #4
0
    def _get_imported_module(self, importnode, modname):
        try:
            return importnode.do_import_module(modname)
        except astroid.TooManyLevelsError:
            if _ignore_import_failure(importnode, modname, self._ignored_modules):
                return None

            self.add_message('relative-beyond-top-level', node=importnode)

        except astroid.AstroidBuildingException:
            if _ignore_import_failure(importnode, modname, self._ignored_modules):
                return None
            if not self.config.analyse_fallback_blocks and is_from_fallback_block(importnode):
                return None

            dotted_modname = _get_import_name(importnode, modname)
            self.add_message('import-error', args=repr(dotted_modname),
                             node=importnode)
Пример #5
0
    def _get_imported_module(self, importnode, modname):
        try:
            return importnode.do_import_module(modname)
        except astroid.InferenceError as ex:
            dotted_modname = _get_import_name(importnode, modname)
            if str(ex) != modname:
                args = '%r (%s)' % (dotted_modname, ex)
            else:
                args = repr(dotted_modname)

            for submodule in _qualified_names(modname):
                if submodule in self._ignored_modules:
                    return None

            if not self.config.analyse_fallback_blocks and is_from_fallback_block(
                    importnode):
                return None

            if not node_ignores_exception(importnode, ImportError):
                self.add_message("import-error", args=args, node=importnode)