
    Ki                         d Z ddlZddlmZ ddlmZ ddlmZ eegef   Zdedefd	Z	dedefd
Z
dedefdZ G d d      Z G d d      Zy)zA
.. codeauthor:: Tsuyoshi Hombashi <tsuyoshi.hombashi@gmail.com>
    N)datetime)Callable   )ValidationErrorereturnc                 8    t        j                  dt               y)zNull value handler that always returns an empty string.

    Args:
        e (ValidationError): A validation error.

    Returns:
        str: An empty string.
    zV'return_null_string' is deprecated. Use 'NullValueHandler.return_null_string' instead. )warningswarnDeprecationWarningr   s    `/home/jay/workspace/scripts/.codegraph-venv/lib/python3.12/site-packages/pathvalidate/handler.pyreturn_null_stringr      s     MM`
     c                     t        j                  dt               t        t	        j
                         j                               S )zNull value handler that returns a timestamp of when the function was called.

    Args:
        e (ValidationError): A validation error.

    Returns:
        str: A timestamp.
    zW'return_timestamp' is deprecated. Use 'NullValueHandler.reserved_name_handler' instead.)r   r   r   strr   now	timestampr   s    r   return_timestampr   !   s2     MMa
 x||~'')**r   c                     | )zNull value handler that always raises an exception.

    Args:
        e (ValidationError): A validation error.

    Raises:
        ValidationError: Always raised.
     r   s    r   raise_errorr   3   s	     Gr   c                   @    e Zd Zededefd       Zededefd       Zy)NullValueHandlerr   r   c                      y)zNull value handler that always returns an empty string.

        Args:
            e (ValidationError): A validation error.

        Returns:
            str: An empty string.
        r
   r   clsr   s     r   r   z#NullValueHandler.return_null_stringA   s     r   c                 X    t        t        j                         j                               S )zNull value handler that returns a timestamp of when the function was called.

        Args:
            e (ValidationError): A validation error.

        Returns:
            str: A timestamp.
        )r   r   r   r   r   s     r   r   z!NullValueHandler.return_timestampN   s     8<<>++-..r   N)__name__
__module____qualname__classmethodr   r   r   r   r   r   r   r   r   @   sD    
? 
s 
 
 
/ 
/S 
/ 
/r   r   c                   Z    e Zd Zededefd       Zededefd       Zededefd       Zy)ReservedNameHandlerr   r   c                 l    |j                   dv s|j                  r|j                   S d|j                    S )zReserved 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.
        .z.._reserved_namereusable_namer   s     r   add_leading_underscorez*ReservedNameHandler.add_leading_underscore]   s2     ??k)Q__??"1??#$$r   c                 l    |j                   dv s|j                  r|j                   S |j                    dS )zReserved 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.
        r'   r)   r*   r   s     r   add_trailing_underscorez+ReservedNameHandler.add_trailing_underscoren   s2     ??k)Q__??"//"!$$r   c                     |j                   S )zReserved name handler that returns the name as is.

        Args:
            e (ValidationError): A reserved name error.

        Returns:
            str: The name as is.
        )r+   r   s     r   as_iszReservedNameHandler.as_is   s     r   N)	r    r!   r"   r#   r   r   r-   r/   r1   r   r   r   r%   r%   \   sf    % %3 % %  % %C % %  
o 
# 
 
r   r%   )__doc__r   r   typingr   errorr   r   ValidationErrorHandlerr   r   r   r   r%   r   r   r   <module>r6      sz       " "?"3S"89 / c $+ +C +$
? 
s 
/ /8. .r   