summaryrefslogtreecommitdiff
path: root/venv/lib/python3.11/site-packages/jinja2/exceptions.py
diff options
context:
space:
mode:
Diffstat (limited to 'venv/lib/python3.11/site-packages/jinja2/exceptions.py')
-rw-r--r--venv/lib/python3.11/site-packages/jinja2/exceptions.py166
1 files changed, 0 insertions, 166 deletions
diff --git a/venv/lib/python3.11/site-packages/jinja2/exceptions.py b/venv/lib/python3.11/site-packages/jinja2/exceptions.py
deleted file mode 100644
index 082ebe8..0000000
--- a/venv/lib/python3.11/site-packages/jinja2/exceptions.py
+++ /dev/null
@@ -1,166 +0,0 @@
-import typing as t
-
-if t.TYPE_CHECKING:
- from .runtime import Undefined
-
-
-class TemplateError(Exception):
- """Baseclass for all template errors."""
-
- def __init__(self, message: t.Optional[str] = None) -> None:
- super().__init__(message)
-
- @property
- def message(self) -> t.Optional[str]:
- return self.args[0] if self.args else None
-
-
-class TemplateNotFound(IOError, LookupError, TemplateError):
- """Raised if a template does not exist.
-
- .. versionchanged:: 2.11
- If the given name is :class:`Undefined` and no message was
- provided, an :exc:`UndefinedError` is raised.
- """
-
- # Silence the Python warning about message being deprecated since
- # it's not valid here.
- message: t.Optional[str] = None
-
- def __init__(
- self,
- name: t.Optional[t.Union[str, "Undefined"]],
- message: t.Optional[str] = None,
- ) -> None:
- IOError.__init__(self, name)
-
- if message is None:
- from .runtime import Undefined
-
- if isinstance(name, Undefined):
- name._fail_with_undefined_error()
-
- message = name
-
- self.message = message
- self.name = name
- self.templates = [name]
-
- def __str__(self) -> str:
- return str(self.message)
-
-
-class TemplatesNotFound(TemplateNotFound):
- """Like :class:`TemplateNotFound` but raised if multiple templates
- are selected. This is a subclass of :class:`TemplateNotFound`
- exception, so just catching the base exception will catch both.
-
- .. versionchanged:: 2.11
- If a name in the list of names is :class:`Undefined`, a message
- about it being undefined is shown rather than the empty string.
-
- .. versionadded:: 2.2
- """
-
- def __init__(
- self,
- names: t.Sequence[t.Union[str, "Undefined"]] = (),
- message: t.Optional[str] = None,
- ) -> None:
- if message is None:
- from .runtime import Undefined
-
- parts = []
-
- for name in names:
- if isinstance(name, Undefined):
- parts.append(name._undefined_message)
- else:
- parts.append(name)
-
- parts_str = ", ".join(map(str, parts))
- message = f"none of the templates given were found: {parts_str}"
-
- super().__init__(names[-1] if names else None, message)
- self.templates = list(names)
-
-
-class TemplateSyntaxError(TemplateError):
- """Raised to tell the user that there is a problem with the template."""
-
- def __init__(
- self,
- message: str,
- lineno: int,
- name: t.Optional[str] = None,
- filename: t.Optional[str] = None,
- ) -> None:
- super().__init__(message)
- self.lineno = lineno
- self.name = name
- self.filename = filename
- self.source: t.Optional[str] = None
-
- # this is set to True if the debug.translate_syntax_error
- # function translated the syntax error into a new traceback
- self.translated = False
-
- def __str__(self) -> str:
- # for translated errors we only return the message
- if self.translated:
- return t.cast(str, self.message)
-
- # otherwise attach some stuff
- location = f"line {self.lineno}"
- name = self.filename or self.name
- if name:
- location = f'File "{name}", {location}'
- lines = [t.cast(str, self.message), " " + location]
-
- # if the source is set, add the line to the output
- if self.source is not None:
- try:
- line = self.source.splitlines()[self.lineno - 1]
- except IndexError:
- pass
- else:
- lines.append(" " + line.strip())
-
- return "\n".join(lines)
-
- def __reduce__(self): # type: ignore
- # https://bugs.python.org/issue1692335 Exceptions that take
- # multiple required arguments have problems with pickling.
- # Without this, raises TypeError: __init__() missing 1 required
- # positional argument: 'lineno'
- return self.__class__, (self.message, self.lineno, self.name, self.filename)
-
-
-class TemplateAssertionError(TemplateSyntaxError):
- """Like a template syntax error, but covers cases where something in the
- template caused an error at compile time that wasn't necessarily caused
- by a syntax error. However it's a direct subclass of
- :exc:`TemplateSyntaxError` and has the same attributes.
- """
-
-
-class TemplateRuntimeError(TemplateError):
- """A generic runtime error in the template engine. Under some situations
- Jinja may raise this exception.
- """
-
-
-class UndefinedError(TemplateRuntimeError):
- """Raised if a template tries to operate on :class:`Undefined`."""
-
-
-class SecurityError(TemplateRuntimeError):
- """Raised if a template tries to do something insecure if the
- sandbox is enabled.
- """
-
-
-class FilterArgumentError(TemplateRuntimeError):
- """This error is raised if a filter was called with inappropriate
- arguments
- """