ai-station/.venv/lib/python3.12/site-packages/textual/css/errors.py

51 lines
1.3 KiB
Python

from __future__ import annotations
from rich.console import Console, ConsoleOptions, RenderResult
from textual.css._help_renderables import HelpText
from textual.css.tokenizer import Token, TokenError
class DeclarationError(Exception):
def __init__(self, name: str, token: Token, message: str | HelpText) -> None:
self.name = name
self.token = token
self.message = message
super().__init__(str(message))
class StyleTypeError(TypeError):
pass
class UnresolvedVariableError(TokenError):
pass
class StyleValueError(ValueError):
"""Raised when the value of a style property is not valid
Attributes:
help_text: Optional HelpText to be rendered when this
error is raised.
"""
def __init__(self, *args: object, help_text: HelpText | None = None):
super().__init__(*args)
self.help_text: HelpText | None = help_text
def __rich_console__(
self, console: Console, options: ConsoleOptions
) -> RenderResult:
from rich.traceback import Traceback
yield Traceback.from_exception(type(self), self, self.__traceback__)
if self.help_text is not None:
yield ""
yield self.help_text
yield ""
class StylesheetError(Exception):
pass