Spaces:
Paused
Paused
| from __future__ import annotations | |
| import subprocess | |
| import types | |
| class BuildException(Exception): | |
| """ | |
| Exception raised by :class:`build.ProjectBuilder`. | |
| """ | |
| class BuildBackendException(Exception): | |
| """ | |
| Exception raised when a backend operation fails. | |
| """ | |
| def __init__( | |
| self, | |
| exception: Exception, | |
| description: str | None = None, | |
| exc_info: tuple[type[BaseException], BaseException, types.TracebackType] | tuple[None, None, None] = ( | |
| None, | |
| None, | |
| None, | |
| ), | |
| ) -> None: | |
| super().__init__() | |
| self.exception = exception | |
| self.exc_info = exc_info | |
| self._description = description | |
| def __str__(self) -> str: | |
| if self._description: | |
| return self._description | |
| return f'Backend operation failed: {self.exception!r}' | |
| class BuildSystemTableValidationError(BuildException): | |
| """ | |
| Exception raised when the ``[build-system]`` table in pyproject.toml is invalid. | |
| """ | |
| def __str__(self) -> str: | |
| return f'Failed to validate `build-system` in pyproject.toml: {self.args[0]}' | |
| class FailedProcessError(Exception): | |
| """ | |
| Exception raised when a setup or preparation operation fails. | |
| """ | |
| def __init__(self, exception: subprocess.CalledProcessError, description: str) -> None: | |
| super().__init__() | |
| self.exception = exception | |
| self._description = description | |
| def __str__(self) -> str: | |
| return self._description | |
| class TypoWarning(Warning): | |
| """ | |
| Warning raised when a possible typo is found. | |
| """ | |