o
    1ÎjK  ã                   @   s,   d dl mZ ddlmZ G dd„ deƒZdS )é    )Úwrapsé   )Úloggingc                   @   s   e Zd Zdd„ Zddd„ZdS )ÚFuncRegisterc                 C   s   t |tƒsJ ‚|| _d S ©N)Ú
isinstanceÚdictÚ_register_map)ÚselfZregister_map© r   ú\/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/paddlex/utils/func_register.pyÚ__init__   s   
zFuncRegister.__init__Nc                    s   ‡ ‡fdd„}|S )z,register the decoratored func as key in dictc                    sN   ˆd urˆnˆ j }ˆ ˆj|< t dˆ j › d|› d¡ tˆ ƒ‡ fdd„ƒ}|S )Nz
The func (z) has been registered as key (z).c                     s   ˆ | i |¤ŽS r   r   )ÚargsÚkwargs©Úfuncr   r   Úwrapper#   s   z9FuncRegister.__call__.<locals>.decorator.<locals>.wrapper)Ú__name__r	   r   Údebugr   )r   Z
actual_keyr   ©Úkeyr
   r   r   Ú	decorator   s   
ÿz(FuncRegister.__call__.<locals>.decoratorr   )r
   r   r   r   r   r   Ú__call__   s   zFuncRegister.__call__r   )r   Ú
__module__Ú__qualname__r   r   r   r   r   r   r      s    r   N)Ú	functoolsr   Ú r   Úobjectr   r   r   r   r   Ú<module>   s   