Spaces:
Sleeping
Sleeping
first-space
/
first-space-venv
/lib
/python3.12
/site-packages
/InquirerPy
/containers
/validation.py
"""Module contains :class:`.ValidationWindow` which can be used to display error.""" | |
from typing import Optional | |
from prompt_toolkit.filters.base import FilterOrBool | |
from prompt_toolkit.formatted_text.base import AnyFormattedText | |
from prompt_toolkit.layout.containers import ConditionalContainer, Float, Window | |
from prompt_toolkit.layout.controls import FormattedTextControl | |
class ValidationWindow(ConditionalContainer): | |
"""Conditional `prompt_toolkit` :class:`~prompt_toolkit.layout.Window` that displays error. | |
Args: | |
invalid_message: Error message to display when error occured. | |
filter: Condition to display the error window. | |
""" | |
def __init__( | |
self, invalid_message: AnyFormattedText, filter: FilterOrBool, **kwargs | |
) -> None: | |
super().__init__( | |
Window( | |
FormattedTextControl(invalid_message), dont_extend_height=True, **kwargs | |
), | |
filter=filter, | |
) | |
class ValidationFloat(Float): | |
""":class:`~prompt_toolkit.layout.Float` wrapper around :class:`.ValidationWindow`. | |
Args: | |
invalid_message: Error message to display when error occured. | |
filter: Condition to display the error window. | |
left: Distance to left. | |
right: Distance to right. | |
bottom: Distance to bottom. | |
top: Distance to top. | |
""" | |
def __init__( | |
self, | |
invalid_message: AnyFormattedText, | |
filter: FilterOrBool, | |
left: Optional[int] = None, | |
right: Optional[int] = None, | |
bottom: Optional[int] = None, | |
top: Optional[int] = None, | |
**kwargs | |
) -> None: | |
super().__init__( | |
content=ValidationWindow( | |
invalid_message=invalid_message, filter=filter, **kwargs | |
), | |
left=left, | |
right=right, | |
bottom=bottom, | |
top=top, | |
) | |