o
    he                     @   sT   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r(ddl	Z	e	
  dS 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 j/var/www/html/construction_image-detection-poc/venv/lib/python3.10/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   
   | j d S Nr   valueselfr   r   r   major*      
z_VersionTupleEnumMixin.majorc                 C   r   )N   r   r   r   r   r   minor.   r   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%   2   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      t | j S N)max__members__valuesr&   r   r   r   r#   ?   s   z_VersionTupleEnumMixin.defaultc                 C   r+   r,   )	frozensetr.   r/   r0   r   r   r   supported_versionsD   s   z)_VersionTupleEnumMixin.supported_versions)r   
__module____qualname__propertyr   r    classmethodr%   r*   r#   r2   __classcell__r   r   r'   r   r   )   s    

	
r   __main__)r   )__doc__r   r   r"   floatnumberTypesr   r   r   doctesttestmodr   r   r   r   <module>   s    
 