U
    a                     @   s0   d dl Z d dlZd dlZd dlmZ dd ZdS )    N)SynchronousOnlyOperationc                    s,    fdd}t  r$ }d ||S |S dS )z
    Decorator to mark functions as async-unsafe. Someone trying to access
    the function while in an async context will get an error message.
    c                    s   t   fdd}|S )Nc                     sH   t jds>zt }W n tk
r,   Y nX | r>t | |S )NZDJANGO_ALLOW_ASYNC_UNSAFE)osenvirongetasyncioZget_event_loopRuntimeErrorZ
is_runningr   )argskwargsZ
event_loop)funcmessage /home/adriano.carvalho/ftp/files/BrinquedotecaVirtual/brinquedotecavirtual/venv/lib/python3.8/site-packages/django/utils/asyncio.pyinner   s    z.async_unsafe.<locals>.decorator.<locals>.inner)	functoolswraps)r
   r   r   )r
   r   	decorator   s    zasync_unsafe.<locals>.decoratorzKYou cannot call this from an async context - use a thread or sync_to_async.N)callable)r   r   r
   r   r   r   async_unsafe   s    r   )r   r   r   Zdjango.core.exceptionsr   r   r   r   r   r   <module>   s   