
     f                    h   U d dl mZ d dlZd dlZd dlZd dlmZ d dlm	Z	 d dl
mZ ddlmZ ddlmZ dd	lmZ  ed
          Zded<    ed          Zded<    G d d          Z G d d          Zej        Zej        e_         G d d          Z G d dej                  Z G d d          ZdS )    )annotationsN)
ContextVar)CodeType)escape   )
debug_repr)dump)helperzwerkzeug.debug.console.streamzContextVar[HTMLStringO]_streamzwerkzeug.debug.console.ipyzContextVar[_InteractiveConsole]_ipyc                  d    e Zd ZdZddZddZddZddZdddZddZ	ddZ
ddZddZddZdS )HTMLStringOz-A StringO version that HTML escapes on write.returnNonec                    g | _         d S N)_bufferselfs    Y/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/werkzeug/debug/console.py__init__zHTMLStringO.__init__   s    "$    boolc                    dS )NF r   s    r   isattyzHTMLStringO.isatty   s    ur   c                    d S r   r   r   s    r   closezHTMLStringO.close       r   c                    d S r   r   r   s    r   flushzHTMLStringO.flush   r   r   r   nintmodec                    d S r   r   )r   r"   r$   s      r   seekzHTMLStringO.seek"   r   r   strc                d    t          | j                  dk    rdS | j        d         }| j        d= |S )Nr    )lenr   )r   rets     r   readlinezHTMLStringO.readline%   s5    t|!!2l1oLO
r   c                N    d                     | j                  }| j        d d = |S Nr)   )joinr   )r   vals     r   resetzHTMLStringO.reset,   s'    ggdl##LO
r   xc                :    | j                             |           d S r   )r   appendr   r2   s     r   _writezHTMLStringO._write1   s    Ar   c                J    |                      t          |                     d S r   )r6   r   r5   s     r   writezHTMLStringO.write4   s     F1IIr   t.Iterable[str]c                p    |                      t          d                    |                               d S r.   )r6   r   r/   r5   s     r   
writelineszHTMLStringO.writelines7   s,    F2771::&&'''''r   Nr   r   )r   r   )r   )r"   r#   r$   r#   r   r   r   r'   )r2   r'   r   r   )r2   r9   r   r   )__name__
__module____qualname____doc__r   r   r   r!   r&   r,   r1   r6   r8   r;   r   r   r   r   r      s        77% % % %                   
      ( ( ( ( ( (r   r   c                  z    e Zd ZdZedd            Zedd            Zedd	            ZddZddZ	ddZ
ddZdS )ThreadedStreamz@Thread-local wrapper for sys.stdout for the interactive console.r   r   c                     t          t          j        t                    s5t	          j        t          j        t                                t          _        t                              t                                 d S r   )

isinstancesysstdoutrC   tcastTextIOr   setr   r   r   r   pushzThreadedStream.push>   sM    #*n55 	<.*:*:;;CJKMM"""""r   r'   c                     	 t                                           } n# t          $ r Y dS w xY w|                                 S r.   )r   getLookupErrorr1   )streams    r   fetchzThreadedStream.fetchE   sH    	[[]]FF 	 	 	22	 ||~~    
**objobjectc                   	 t                                           }n# t          $ r t          |           cY S w xY w| E| t                                          j        d<   |                    t          |                      d S d S )N_)r   rN   rO   _displayhookr   localsr6   r   )rS   rP   s     r   displayhookzThreadedStream.displayhookN   s    	%[[]]FF 	% 	% 	%$$$$$	%
 ?%(DHHJJc"MM*S//***** ?s    88namevaluet.Anyc                &    t          d|           )Nzread only attribute )AttributeError)r   rZ   r[   s      r   __setattr__zThreadedStream.__setattr__[   s    :D::;;;r   	list[str]c                4    t          t          j                  S r   )dirrF   
__stdout__r   s    r   __dir__zThreadedStream.__dir__^   s    3>"""r   c                    	 t                                           }n# t          $ r t          j        }Y nw xY wt          ||          S r   )r   rN   rO   rF   rc   getattr)r   rZ   rP   s      r   __getattribute__zThreadedStream.__getattribute__a   sN    	$[[]]FF 	$ 	$ 	$^FFF	$ vt$$$s    55c                4    t          t          j                  S r   )reprrF   rc   r   s    r   __repr__zThreadedStream.__repr__i   s    CN###r   Nr<   r=   )rS   rT   r   r   )rZ   r'   r[   r\   r   r   )r   r`   )rZ   r'   r   r\   )r>   r?   r@   rA   staticmethodrL   rQ   rY   r_   rd   rg   rj   r   r   r   rC   rC   ;   s        JJ# # # \#    \ 
+ 
+ 
+ \
+< < < <# # # #% % % %$ $ $ $ $ $r   rC   c                  &    e Zd ZddZddZdd
ZdS )_ConsoleLoaderr   r   c                    i | _         d S r   )_storager   s    r   r   z_ConsoleLoader.__init__s   s    (*r   coder   sourcer'   c                    || j         t          |          <   |j        D ].}t          |t                    r|| j         t          |          <   /d S r   )ro   id	co_constsrE   r   )r   rp   rq   vars       r   registerz_ConsoleLoader.registerv   sT    "(bhh> 	0 	0C#x(( 0)/bgg&	0 	0r   
str | Nonec                Z    	 | j         t          |                   S # t          $ r Y d S w xY wr   )ro   rs   KeyErrorr   rp   s     r   get_source_by_codez!_ConsoleLoader.get_source_by_code}   s<    	=D** 	 	 	44	rR   Nr<   )rp   r   rq   r'   r   r   )rp   r   r   rw   )r>   r?   r@   r   rv   r{   r   r   r   rm   rm   r   sP        + + + +0 0 0 0     r   rm   c                  Z     e Zd ZU ded<   d fdZd fdZddZddZdddZddZ	 xZ
S )_InteractiveConsoledict[str, t.Any]rX   globalsr   r   c                     t                       _        i ||t          t           j        d}t	                                          |            j        d
 fd}| _        d	 _        g  _        d S )N)r	   help
__loader__rq   r'   filenamesymbolr   CodeType | Nonec                \     | ||          }|j                             ||            |S r   )loaderrv   )rq   r   r   rp   original_compiler   s       r   compilez-_InteractiveConsole.__init__.<locals>.compile   s:    ##FHf==D$$T6222Kr   F)rq   r'   r   r'   r   r'   r   r   )	rm   r   r	   r
   superr   r   morebuffer)r   r   rX   r   r   	__class__s   `   @r   r   z_InteractiveConsole.__init__   s    $&&


 +
 
 
 	   <	 	 	 	 	 	 	 	!#r   rq   r'   kwargsr\   c                   |                                  d}t                                           | j        rdnd}	 d                    | j        |gz             }t                                          |dd          r"d| _        | j                            |           nd| _        | j        d d = t          	                                }n# t          	                                }w xY w| t          |           | S )	N
z... z>>> r)   z
<debugger>singleTF)rstriprC   rL   r   r/   r   r   	runsourcer4   rQ   r   )r   rq   r   promptsource_to_evaloutputr   s         r   r   z_InteractiveConsole.runsource   s    MMOO'''90&		,WWT[F8%;<<Nww  xHH # 	""6****!	KN#))++FF^))++F++++2&..2&222s   A4C C'rp   r   c                |    	 t          || j                   d S # t          $ r |                                  Y d S w xY wr   )execrX   	Exceptionshowtracebackrz   s     r   runcodez_InteractiveConsole.runcode   sU    	!t{##### 	! 	! 	!      	!s    ;;c                    ddl m} t          j        t          t          j                    d                   } ||d          }t
          j                            |	                                           d S )Nr   DebugTracebackskip
tbtoolsr   rH   rI   BaseExceptionrF   exc_inforG   r6   render_traceback_html)r   r   exctes       r   r   z!_InteractiveConsole.showtraceback   l    ++++++f]CLNN1$566^Ca(((
"224455555r   Nr   rw   c                    ddl m} t          j        t          t          j                    d                   } ||d          }t
          j                            |	                                           d S )Nr   r      r   r   )r   r   r   r   r   s        r   showsyntaxerrorz#_InteractiveConsole.showsyntaxerror   r   r   datac                D    t           j                            |           d S r   )rF   rG   r8   )r   r   s     r   r8   z_InteractiveConsole.write   s    
r   )r   r~   rX   r~   r   r   )rq   r'   r   r\   r   r'   )rp   r   r   r   r<   r   )r   rw   r   r   )r   r'   r   r   )r>   r?   r@   __annotations__r   r   r   r   r   r8   __classcell__)r   s   @r   r}   r}      s         $ $ $ $ $ $03 3 3 3 3 3 ! ! ! !6 6 6 66 6 6 6 6       r   r}   c                  (    e Zd ZdZ	 	 dddZddZdS )ConsolezAn interactive console.Nr   dict[str, t.Any] | NonerX   r   r   c                @    |i }|i }t          ||          | _        d S r   )r}   r   )r   r   rX   s      r   r   zConsole.__init__   s-    
 >F?G'88			r   rp   r'   c                    t                               | j                    t          j        }	 | j                             |          |t          _        S # |t          _        w xY wr   )r   rK   rF   rG   r   )r   rp   old_sys_stdouts      r   evalzConsole.eval   sQ    	(9&&t,,'CJJCJ''''s   A A!)NN)r   r   rX   r   r   r   )rp   r'   r   r'   )r>   r?   r@   rA   r   r   r   r   r   r   r      sO        !! ,0*.	9 	9 	9 	9 	9( ( ( ( ( (r   r   )
__future__r   rp   rF   typingrH   contextvarsr   typesr   
markupsafer   ri   r   r	   r
   r   r   r   r   rC   rY   rW   rm   InteractiveInterpreterr}   r   r   r   r   <module>r      s   " " " " " " "  



     " " " " " "                              #-:.M#N#N N N N N(2
3O(P(P P P P P%( %( %( %( %( %( %( %(P/$ /$ /$ /$ /$ /$ /$ /$f  ,       $@ @ @ @ @$5 @ @ @F( ( ( ( ( ( ( ( ( (r   