Quellcode für text_lint.exceptions.results

"""Exceptions for linter results."""
from typing import TYPE_CHECKING

from text_lint.utilities.translations import _, f
from text_lint.utilities.whitespace import make_visible

if TYPE_CHECKING:  # pragma: no cover
  from text_lint.operations.validators.args.lookup_expression import (
      LookupExpression,
  )


[Doku] class ResultExceptionBase(ValueError): """Base class for results exceptions."""
[Doku] class ResultDoesNotExist(ResultExceptionBase): """Raised when a request is made for a non-existent result.""" msg_fmt_does_not_exist = _( "The save id you've requested does not exist." ) msg_fmt_result_source = _(" SAVE ID: '{0}'") msg_fmt_schema_operation_name = _(" SCHEMA OPERATION NAME: {0}") msg_fmt_lookup_definition = _(" LOOKUP DEFINITION:") msg_fmt_lookup_result_source = _(" SAVE ID: '{0}'") msg_fmt_lookups = _(" LOOKUPS: {0}") msg_fmt_hint = _(" HINT: '{0}'") msg_fmt_does_not_exist_hint = _( 'save ids are created when applying the "assertions" ' 'section of the schema' )
[Doku] def __init__( self, lookup_expression: "LookupExpression", requesting_operation_name: str, ) -> None: """Initialize ResultDoesNotExist exceptions. :param lookup_expression: The instance referencing this result. :param requesting_operation_name: The operation performing this lookup. """ message = f( self.msg_fmt_does_not_exist, nl=1, ) message += f( self.msg_fmt_result_source, make_visible(lookup_expression.source), nl=1, ) message += f( self.msg_fmt_schema_operation_name, make_visible(requesting_operation_name), nl=1, ) message += f( self.msg_fmt_lookup_definition, nl=1, ) message += f( self.msg_fmt_lookup_result_source, make_visible(lookup_expression.source), nl=1, ) message += f( self.msg_fmt_lookups, make_visible( [parsed_lookup.name for parsed_lookup in lookup_expression.lookups] ), nl=1, ) message += f( self.msg_fmt_hint, self.msg_fmt_does_not_exist_hint, nl=1, ) super().__init__(message)
[Doku] class SplitGroupNotFound(ResultExceptionBase): """Raised when a non-existent split group is referenced."""
[Doku] def __init__(self, group: int) -> None: """Initialize SplitGroupNotFound exceptions. :param group: The split group index number. """ super().__init__() self.group = group