File: //usr/local/lib/python3.9/site-packages/amqp/__pycache__/utils.cpython-39.pyc
a
X>h� � @ s� d Z ddlZddlmZ ddlmZ ddlmZ zddlZW n eyR dZY n0 dd� Z dd � Z
d
d� Zdd
� Zdd� Z
dS )zCompatibility utilities.� N)�NullHandler)�promise��wrapsc C sh t du rdS z
t j}W n ty0 td��Y n0 t � | t j�}|rN||O }n
|| M }t � | t j|�S )z Set flag to close fd after exec.Nz1close-on-exec flag not supported on this platform)�fcntl�
FD_CLOEXEC�AttributeError�NotImplementedErrorZF_GETFDZF_SETFD)�fdZcloexecr �flags� r �4/usr/local/lib/python3.9/site-packages/amqp/utils.py�set_cloexec s
�
r c s t � �� fdd��}|S )z,Decorator to mark generator as a co-routine.c s � | i |��}t |� |S )N)�next)�args�kwargs�co��genr r
�_boot# s zcoro.<locals>._bootr )r r r r r
�coro! s r c C s t | t�r| �dd�S | S )zConvert str to bytes.�utf-8�
surrogatepass)�
isinstance�str�encode��sr r r
�str_to_bytes, s
r c C s t | t�r| �dd�S | S )zConvert bytes to str.r r )r �bytes�decoder r r r
�bytes_to_str3 s
r! c C s* t | t�rt�| �} | js&| �t� � | S )zGet logger by name.)r r �logging� getLogger�handlers�
addHandlerr )�loggerr r r
�
get_logger: s
r'