Spaces:
Build error
Build error
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. | |
""" | |