a
     h                     @  s   d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlm	Z	 d dl
Z
d dlZd dlZd dlmZ eG dd de	Zdddd	d
ZdddddZdS )    )annotationsN)InteractiveConsole)finalc                      s6   e Zd Zdddd fddZdddd	d
Z  ZS )TrioInteractiveConsoleNzdict[str, object] | NoneNone)repl_localsreturnc                   s&   t  j|d | jj jtjO  _d S )N)locals)super__init__compilecompilerflagsastPyCF_ALLOW_TOP_LEVEL_AWAIT)selfr   	__class__ O/var/www/html/swiplay.fr/scambot/venv/lib/python3.9/site-packages/trio/_repl.pyr      s    zTrioInteractiveConsole.__init__ztypes.CodeType)coder   c                 C  s   t || j}t|r*tjtj	|}ntj
tj|}t|tjrt|jtrZ|jnFt|j|j t_t_|jjt_tjdkr|jt_ttjtjtj d S )N)      )typesFunctionTyper	   inspectiscoroutinefunctiontrioZfrom_threadrunoutcomeZacapturerun_synccapture
isinstanceErrorerror
SystemExittypesys	last_type
last_value__traceback__last_tracebackversion_infolast_exc
excepthook)r   r   funcresultr   r   r   runcode   s    


zTrioInteractiveConsole.runcode)N)__name__
__module____qualname__r   r1   __classcell__r   r   r   r   r      s   r   r   )consoler   c                   sf   dt j dt j dtt dd d}z*tj| j|I d H  W tj	ddt
d	 ntj	ddt
d	 0 d S )
Nz
trio REPL z on zv
Use "await" directly instead of "trio.run()".
Type "help", "copyright", "credits" or "license" for more information.
Zps1z>>> zimport trioignorez ^coroutine .* was never awaited$)messagecategory)r'   versionplatformgetattrr   Z	to_threadr    ZinteractwarningsfilterwarningsRuntimeWarning)r6   Zbannerr   r   r   run_repl6   s    
r@   zdict[str, object])original_localsr   c                 C  sh   t t dd l}W d    n1 s(0    Y  dti}dD ]}| | ||< q>t|}tt| d S )Nr   r   >   __file____spec____builtins____package__
__loader__r2   )
contextlibsuppressImportErrorreadliner   r   r   r@   )rA   rJ   r   keyr6   r   r   r   mainH   s    &rL   )
__future__r   r   rG   r   r'   r   r=   r   r   r   r   Ztrio.lowlevelZ
trio._utilr   r   r@   rL   r   r   r   r   <module>   s   #