U
    @f                     @   s|   d dl Z d dlZd dlZd dlZd dlmZ e Zdd Zej	d  dk rTdddZ
n
dd	dZ
ej	dd
 dkZdd ZdS )    N)	greenletsc                 C   sT   z| j dk	r| j W S W n tk
r*   Y nX z| jd W S  tk
rN   Y dS X dS )ah   Get the error code out of socket.error objects.
    socket.error in <2.5 does not have errno attribute
    socket.error in 3.x does not allow indexing access
    e.args[0] works for all.
    There are cases when args[0] is not errno.
    i.e. http://bugs.python.org/issue6471
    Maybe there are cases when errno is set, but it is not the first argument?
    Nr   )errnoAttributeErrorargs
IndexError)exc r   S/var/www/html/chatgpt/venv/lib/python3.8/site-packages/eventlet/support/__init__.py	get_errno   s    

r
      asciic                 C   s   | S Nr   bencodingr   r   r	   bytes_to_str"   s    r   c                 C   s
   |  |S r   )decoder   r   r   r	   r   %   s       )r   r   c                    s.   dd }dj || ||d  fdd}|S )Nc                 S   s   d| krd|  S | S )N.z	eventlet.r   )sr   r   r	   _resolve,   s    z!wrap_deprecated.<locals>._resolvez{old} is deprecated and will be removed in next version. Use {new} instead.
Autoupgrade: fgrep -rl '{old}' . |xargs -t sed --in-place='' -e 's/{old}/{new}/'
)oldnewc                    s\   d }t  r.G dd d } j|_ j|_t  fdd}|d k	rX||_|S |S )Nc                   @   s   e Zd ZdS )z/wrap_deprecated.<locals>.wrapper.<locals>.klassN)__name__
__module____qualname__r   r   r   r	   klass6   s   r   c                     s   t jtdd  | |S )N   )
stacklevel)warningswarnDeprecationWarning)akw)basemsgr   r	   wrapped;   s    z1wrap_deprecated.<locals>.wrapper.<locals>.wrapped)inspectisclassr   r   	functoolswraps__init__)r$   r   r&   r%   )r$   r	   wrapper3   s    
z wrap_deprecated.<locals>.wrapper)format)r   r   r   r-   r   r,   r	   wrap_deprecated+   s     r/   )r   )r   )r'   r)   sysr   Zeventlet.supportr   objectZ_MISSINGr
   version_infor   ZPY33r/   r   r   r   r	   <module>   s   
