
    jked                     r    d Z ddlZddlZeefZddZ G d d      Zedk(  rddl	Z	 e	j                          yy)z^The module contains miscellaneous helpers.
It's not considered part of the public ufoLib API.
    Nc                       f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                 F     t        j                          fd       }|S )Nc                  j    t        j                  j                   d t        d        | i |S )Nz function is a deprecated.    )category
stacklevel)warningswarn__name__DeprecationWarning)argskwargsfuncmsgs     8/usr/lib/python3/dist-packages/fontTools/ufoLib/utils.pywrapperz9deprecated.<locals>.deprecated_decorator.<locals>.wrapper   s:    MM==/!<SEB+
 (((    )	functoolswraps)r   r   r   s   ` r   deprecated_decoratorz(deprecated.<locals>.deprecated_decorator   s%    			) 
	) r    )r   r   s   ` r   
deprecatedr      s    
  r   c                   n     e Zd Zed        Zed        Ze fd       Zd Zed        Z	ed        Z
 xZS )_VersionTupleEnumMixinc                      | j                   d   S Nr   valueselfs    r   majorz_VersionTupleEnumMixin.major)       zz!}r   c                      | j                   d   S )N   r   r   s    r   minorz_VersionTupleEnumMixin.minor-   r"   r   c                 z    t        |t              r
 | |df      S || j                         S t        |   |      S r   )
isinstanceintdefaultsuper	_missing_)clsr   	__class__s     r   r+   z _VersionTupleEnumMixin._missing_1   s>     eS!qz?"=;;= w ''r   c                 8    | j                    d| j                   S )N.)r!   r%   r   s    r   __str__z_VersionTupleEnumMixin.__str__;   s    **Qtzzl++r   c                 H    t        | j                  j                               S N)max__members__valuesr,   s    r   r)   z_VersionTupleEnumMixin.default>   s     3??))+,,r   c                 H    t        | j                  j                               S r2   )	frozensetr4   r5   r6   s    r   supported_versionsz)_VersionTupleEnumMixin.supported_versionsC   s    //122r   )r   
__module____qualname__propertyr!   r%   classmethodr+   r0   r)   r9   __classcell__)r-   s   @r   r   r   (   sj        ( (, - - 3 3r   r   __main__) )__doc__r	   r   r(   floatnumberTypesr   r   r   doctesttestmodr   r   r   <module>rF      sK      El :3 3@ zGOO r   