Exemplo n.º 1
0
 def _data_build(self, data, modname, path):
     """Build tree node from data and add some informations"""
     try:
         node = _parse(data + '\n')
     except (TypeError, ValueError, SyntaxError) as exc:
         util.reraise(
             exceptions.AstroidSyntaxError(
                 'Parsing Python code failed:\n{error}',
                 source=data,
                 modname=modname,
                 path=path,
                 error=exc))
     if path is not None:
         node_file = os.path.abspath(path)
     else:
         node_file = '<?>'
     if modname.endswith('.__init__'):
         modname = modname[:-9]
         package = True
     else:
         package = path and path.find('__init__.py') > -1 or False
     builder = rebuilder.TreeRebuilder(self._manager)
     module = builder.visit_module(node, modname, node_file, package)
     module._import_from_nodes = builder._import_from_nodes
     module._delayed_assattr = builder._delayed_assattr
     return module
Exemplo n.º 2
0
 def _data_build(self, data, modname, path):
     """Build tree node from data and add some informations"""
     try:
         node = _parse_string(data)
     except (TypeError, ValueError, SyntaxError) as exc:
         raise exceptions.AstroidSyntaxError(
             "Parsing Python code failed:\n{error}",
             source=data,
             modname=modname,
             path=path,
             error=exc,
         ) from exc
     if path is not None:
         node_file = os.path.abspath(path)
     else:
         node_file = "<?>"
     if modname.endswith(".__init__"):
         modname = modname[:-9]
         package = True
     else:
         package = (path is not None and os.path.splitext(
             os.path.basename(path))[0] == "__init__")
     builder = rebuilder.TreeRebuilder(self._manager)
     module = builder.visit_module(node, modname, node_file, package)
     module._import_from_nodes = builder._import_from_nodes
     module._delayed_assattr = builder._delayed_assattr
     return module
Exemplo n.º 3
0
    def _data_build(self, data: str, modname,
                    path) -> tuple[nodes.Module, rebuilder.TreeRebuilder]:
        """Build tree node from data and add some informations"""
        try:
            node, parser_module = _parse_string(data, type_comments=True)
        except (TypeError, ValueError, SyntaxError) as exc:
            raise AstroidSyntaxError(
                "Parsing Python code failed:\n{error}",
                source=data,
                modname=modname,
                path=path,
                error=exc,
            ) from exc

        if path is not None:
            node_file = os.path.abspath(path)
        else:
            node_file = "<?>"
        if modname.endswith(".__init__"):
            modname = modname[:-9]
            package = True
        else:
            package = (path is not None and os.path.splitext(
                os.path.basename(path))[0] == "__init__")
        builder = rebuilder.TreeRebuilder(self._manager, parser_module, data)
        module = builder.visit_module(node, modname, node_file, package)
        return module, builder