a
    èÝEbd  ã                   @   sP   d Z ddlZddlZeefZd	dd„ZG dd„ dƒZedkrLddl	Z	e	 
¡  dS )
z^The module contains miscellaneous helpers.
It's not considered part of the public ufoLib API.
é    NÚ c                    s   ‡ fdd„}|S )a@  Decorator factory to mark functions as deprecated with given message.

    >>> @deprecated("Enough!")
    ... def some_function():
    ...    "I just print 'hello world'."
    ...    print("hello world")
    >>> some_function()
    hello world
    >>> some_function.__doc__ == "I just print 'hello world'."
    True
    c                    s   t  ˆ ¡‡ ‡fdd„ƒ}|S )Nc                     s*   t jˆ j› dˆ› �tdd� ˆ | i |¤ŽS )Nz function is a deprecated. é   )ÚcategoryÚ
stacklevel)ÚwarningsÚwarnÚ__name__ÚDeprecationWarning)ÚargsÚkwargs)ÚfuncÚmsg© úV/home/ja/django-apps/lartica_env/lib/python3.9/site-packages/fontTools/ufoLib/utils.pyÚwrapper   s    ýz9deprecated.<locals>.deprecated_decorator.<locals>.wrapper)Ú	functoolsÚwraps)r   r   ©r   )r   r   Údeprecated_decorator   s    z(deprecated.<locals>.deprecated_decoratorr   )r   r   r   r   r   Ú
deprecated   s    r   c                       sX   e Zd Zedd„ ƒZedd„ ƒZe‡ fdd„ƒZdd„ Zed	d
„ ƒZ	edd„ ƒZ
‡  ZS )Ú_VersionTupleEnumMixinc                 C   s
   | j d S ©Nr   ©Úvalue©Úselfr   r   r   Úmajor)   s    z_VersionTupleEnumMixin.majorc                 C   s
   | j d S )Né   r   r   r   r   r   Úminor-   s    z_VersionTupleEnumMixin.minorc                    s2   t |tƒr| |dfƒS |d u r&|  ¡ S tƒ  |¡S r   )Ú
isinstanceÚintÚdefaultÚsuperÚ	_missing_)Úclsr   ©Ú	__class__r   r   r#   1   s
    
z _VersionTupleEnumMixin._missing_c                 C   s   | j › d| j› �S )NÚ.)r   r   r   r   r   r   Ú__str__;   s    z_VersionTupleEnumMixin.__str__c                 C   s   t | j ¡ ƒS ©N)ÚmaxÚ__members__Úvalues©r$   r   r   r   r!   >   s    z_VersionTupleEnumMixin.defaultc                 C   s   t | j ¡ ƒS r)   )Ú	frozensetr+   r,   r-   r   r   r   Úsupported_versionsC   s    z)_VersionTupleEnumMixin.supported_versions)r   Ú
__module__Ú__qualname__Úpropertyr   r   Úclassmethodr#   r(   r!   r/   Ú__classcell__r   r   r%   r   r   (   s   

	
r   Ú__main__)r   )Ú__doc__r   r   r    ÚfloatZnumberTypesr   r   r   ÚdoctestÚtestmodr   r   r   r   Ú<module>   s   
 