Deploy site
This commit is contained in:
@ -0,0 +1,138 @@
|
||||
"""
|
||||
.. codeauthor:: Tsuyoshi Hombashi <tsuyoshi.hombashi@gmail.com>
|
||||
"""
|
||||
|
||||
import warnings
|
||||
from datetime import datetime
|
||||
from typing import Callable
|
||||
|
||||
from .error import ValidationError
|
||||
|
||||
|
||||
ValidationErrorHandler = Callable[[ValidationError], str]
|
||||
|
||||
|
||||
def return_null_string(e: ValidationError) -> str:
|
||||
"""Null value handler that always returns an empty string.
|
||||
|
||||
Args:
|
||||
e (ValidationError): A validation error.
|
||||
|
||||
Returns:
|
||||
str: An empty string.
|
||||
"""
|
||||
|
||||
warnings.warn(
|
||||
"'return_null_string' is deprecated. Use 'NullValueHandler.return_null_string' instead.",
|
||||
DeprecationWarning,
|
||||
)
|
||||
|
||||
return ""
|
||||
|
||||
|
||||
def return_timestamp(e: ValidationError) -> str:
|
||||
"""Null value handler that returns a timestamp of when the function was called.
|
||||
|
||||
Args:
|
||||
e (ValidationError): A validation error.
|
||||
|
||||
Returns:
|
||||
str: A timestamp.
|
||||
"""
|
||||
|
||||
warnings.warn(
|
||||
"'return_timestamp' is deprecated. Use 'NullValueHandler.reserved_name_handler' instead.",
|
||||
DeprecationWarning,
|
||||
)
|
||||
|
||||
return str(datetime.now().timestamp())
|
||||
|
||||
|
||||
def raise_error(e: ValidationError) -> str:
|
||||
"""Null value handler that always raises an exception.
|
||||
|
||||
Args:
|
||||
e (ValidationError): A validation error.
|
||||
|
||||
Raises:
|
||||
ValidationError: Always raised.
|
||||
"""
|
||||
|
||||
raise e
|
||||
|
||||
|
||||
class NullValueHandler:
|
||||
@classmethod
|
||||
def return_null_string(cls, e: ValidationError) -> str:
|
||||
"""Null value handler that always returns an empty string.
|
||||
|
||||
Args:
|
||||
e (ValidationError): A validation error.
|
||||
|
||||
Returns:
|
||||
str: An empty string.
|
||||
"""
|
||||
|
||||
return ""
|
||||
|
||||
@classmethod
|
||||
def return_timestamp(cls, e: ValidationError) -> str:
|
||||
"""Null value handler that returns a timestamp of when the function was called.
|
||||
|
||||
Args:
|
||||
e (ValidationError): A validation error.
|
||||
|
||||
Returns:
|
||||
str: A timestamp.
|
||||
"""
|
||||
|
||||
return str(datetime.now().timestamp())
|
||||
|
||||
|
||||
class ReservedNameHandler:
|
||||
@classmethod
|
||||
def add_leading_underscore(cls, e: ValidationError) -> str:
|
||||
"""Reserved name handler that adds a leading underscore (``"_"``) to the name
|
||||
except for ``"."`` and ``".."``.
|
||||
|
||||
Args:
|
||||
e (ValidationError): A reserved name error.
|
||||
|
||||
Returns:
|
||||
str: The converted name.
|
||||
"""
|
||||
|
||||
if e.reserved_name in (".", "..") or e.reusable_name:
|
||||
return e.reserved_name
|
||||
|
||||
return f"_{e.reserved_name}"
|
||||
|
||||
@classmethod
|
||||
def add_trailing_underscore(cls, e: ValidationError) -> str:
|
||||
"""Reserved name handler that adds a trailing underscore (``"_"``) to the name
|
||||
except for ``"."`` and ``".."``.
|
||||
|
||||
Args:
|
||||
e (ValidationError): A reserved name error.
|
||||
|
||||
Returns:
|
||||
str: The converted name.
|
||||
"""
|
||||
|
||||
if e.reserved_name in (".", "..") or e.reusable_name:
|
||||
return e.reserved_name
|
||||
|
||||
return f"{e.reserved_name}_"
|
||||
|
||||
@classmethod
|
||||
def as_is(cls, e: ValidationError) -> str:
|
||||
"""Reserved name handler that returns the name as is.
|
||||
|
||||
Args:
|
||||
e (ValidationError): A reserved name error.
|
||||
|
||||
Returns:
|
||||
str: The name as is.
|
||||
"""
|
||||
|
||||
return e.reserved_name
|
Reference in New Issue
Block a user