
    Mh<!                         d dl Z d dlZd dlZd dlmZmZ d dlmZmZ d dl	m
Z
mZmZmZmZmZmZmZmZ d dlmZ  G d d          ZdS )    N)	FrameTypeTracebackType)UnionIterable)	style_with_executing_nodeOptionsLine	FrameInfoLINE_GAPVariableRepeatedFramesBlankLineRange
BlankLines)assert_c                   t   e Zd Zddddddddddd	d
dddddddddZd Zd$dddZd$dddZdddZd$dee	         fdZ
d$dee	         fdZdeeeef                  dee	         fdZdede	fdZdeeeef         dee	         fdZdede	fdZdede	fdZd Zdedee	         fd Zd!ede	fd"Zde	fd#ZdS )%	FormatterNFTmonokaiz
bg:#005080^z-->z(...):z{:4} | )options	pygmentedshow_executing_nodepygments_formatter_clspygments_formatter_kwargspygments_styleexecuting_node_modifierexecuting_node_underlinecurrent_line_indicatorline_gap_stringline_number_gap_stringline_number_format_stringshow_variablesuse_code_qualnameshow_linenosstrip_leading_indenthtmlchaincollapse_repeated_framesc                $   |t                      }|r2|j        s+|rt          ||          }|ddlm}  |dd|i|pi |_        || _        || _        t          t          |          dk    t          d                     || _
        |	pd| _        |
| _        || _        || _        || _        || _        || _        || _        || _        || _        || _        || _        | j        s)| j        j        t0          j        k    rt          d          d S d S )	Nr   )Terminal256Formatterstyle   z3executing_node_underline must be a single character z@BlankLines.SINGLE option can only be used when show_linenos=True )r   pygments_formatterr   pygments.formatters.terminal256r*   r   r   r   len
ValueErrorr   r   r   r    r!   r"   r$   r#   r%   r&   r'   r   r(   blank_linesr   SINGLE)selfr   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   s                       U/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/stack_data/formatting.py__init__zFormatter.__init__   s   , ?iiG 	W7 	" !:"$;" " &-. . . . . . *@)? * *$*+1r* *G&
 ##6 ())Q.LMM	
 	
 	
 )A%&<&B#.&<#)B&,(!2$8!	
(@%  	T\%=AR%R%RR  	 	%R%R    c                 *      fd}|t           _        d S )Nc                 2                         |           d S N)print_exception)_etypeevalue_tbr5   s      r6   
excepthookz&Formatter.set_hook.<locals>.excepthookN   s      (((((r8   )sysr@   )r5   r@   s   ` r6   set_hookzFormatter.set_hookM   s)    	) 	) 	) 	) 	) $r8   filec                Z    |                      |                     |          |           d S NrC   )print_linesformat_exception)r5   erD   s      r6   r<   zFormatter.print_exceptionS   s/    ..q11=====r8   c                    |t          j                    j        }|                     |                     |          |           d S rF   )inspectcurrentframef_backrG   format_stack)r5   frame_or_tbrD   s      r6   print_stackzFormatter.print_stackV   sF    !.007K**;77dCCCCCr8   c                P    |t           j        }|D ]}t          ||d           d S )Nr-   )rD   end)rA   stderrprint)r5   linesrD   lines       r6   rG   zFormatter.print_lines\   s?    <:D 	+ 	+D$Tr*****	+ 	+r8   returnc              #     K   |t          j                    d         }| j        rr|j        /|                     |j                  E d {V  t
          j        V  n<|j        5|j        s.|                     |j                  E d {V  t
          j	        V  dV  | 
                    |j                  E d {V  t          j        t          |          |          E d {V  d S )Nr,   z#Traceback (most recent call last):
)rA   exc_infor'   	__cause__rH   	traceback_cause_message__context____suppress_context___context_messagerN   __traceback__format_exception_onlytype)r5   rI   s     r6   rH   zFormatter.format_exceptionb   s     9q!A: 	1{&00=========.....-+0 ,00?????????00004444$$Q_5555555552477A>>>>>>>>>>>r8   c              #      K   |t          j                    j        }|                     t	          j        || j        | j                            E d {V  d S )N)r(   )rK   rL   rM   format_stack_datar
   
stack_datar   r(   )r5   rO   s     r6   rN   zFormatter.format_stacks   s      !.007K)) )-)F  
 
 	
 	
 	
 	
 	
 	
 	
 	
 	
r8   stackc              #      K   |D ]J}t          |t                    r|                     |          E d {V  3|                     |          V  Kd S r;   )
isinstancer
   format_frameformat_repeated_frames)r5   rf   items      r6   rd   zFormatter.format_stack_data   sy        	8 	8D$	** 8,,T222222222211$777777		8 	8r8   repeated_framesc                 6    d                     |j                  S )Nz&    [... skipping similar frames: {}]
)formatdescription)r5   rl   s     r6   rj   z Formatter.format_repeated_frames   s     8??'
 
 	
r8   framec              #     K   t          |t                    st          || j                  }|                     |          V  |j        D ]~}t          |t
                    r|                     |          V  /t          |t                    r|                     |          V  \t          |t          u            | j        dz   V  | j        r/	 |                     |          E d {V  d S # t          $ r Y d S w xY wd S )N
)rh   r
   r   format_frame_headerrU   r	   format_liner   format_blank_lines_linenumbersr   r   r   r"   format_variables	Exception)r5   rp   rV   s      r6   ri   zFormatter.format_frame   sD     %++ 	3eT\22E&&u-----K 	2 	2D$%% 2&&t,,,,,,D.11 299$??????()))*T11111 	0077777777777   	 	s   C/ /
C=<C=
frame_infoc                     d                     || j        r|j                                        n|j        j                  S )NzC File "{frame_info.filename}", line {frame_info.lineno}, in {name}
)rx   name)rn   r#   	executingcode_qualnamecodeco_name)r5   rx   s     r6   rs   zFormatter.format_frame_header   sL    U\\! )(
$22444' ] 
 
 	
r8   rV   c                    d}| j         r,|j        r| j         }ndt          | j                   z  }|dz  }nd}| j        r"|| j                            |j                  z  }|}||                    | j        | j	        | j
                  dz   z  }| j        r^| j        sW|j        D ]O}|j        |j        z
  }|j        |j        z
  }||k    r)|d|t          |          z   z  | j        ||z
  z  z   dz   z  }P|S )Nr-       )r   escape_htmlr%   rr   )r   
is_currentr1   r$   r!   rn   linenorenderr   r&   r%   r   executing_node_rangesstartleading_indentrR   r   )r5   rV   resultprefix
line_ranger   rR   s          r6   rt   zFormatter.format_line   sG   & 	 @4s4#>???cMFFF 	Id4;;DKHHHF$++n	!%!:  
 
 	 	 # 	DN 	"8  
"(4+>> nt':: ;;53v;;#67";sU{KL"#F
 r8   c                     | j         rdt          | j                   z  dz   }nd}|j        |j        k    r%|| j                            |j                  z   dz   S |d                    | j                  z   S )Nr   r   rr   z   {}
)r   r1   begin_lineno
end_linenor!   rn   r    )r5   
blank_liner   s      r6   ru   z(Formatter.format_blank_lines_linenumbers   s    & 	3t:;;;cAFFF"j&;;;D:AA*BYZZZ]aaa	(()DEEEEr8   c              #      K   t          |j        d           D ]-}	 |                     |          dz   V  # t          $ r Y *w xY wd S )Nc                     | j         S r;   )rz   )vs    r6   <lambda>z,Formatter.format_variables.<locals>.<lambda>   s    af r8   )keyrr   )sorted	variablesformat_variablerw   )r5   rx   vars      r6   rv   zFormatter.format_variables   sz      *.4D4DEEE 	 	C**3//$66666   	 	s   8
AAr   c                 h    d                     |j        |                     |j                            S )Nz{} = {})rn   rz   format_variable_valuevalue)r5   r   s     r6   r   zFormatter.format_variable   s2    H&&sy11
 
 	
r8   c                      t          |          S r;   )repr)r5   r   s     r6   r   zFormatter.format_variable_value   s    E{{r8   r;   )__name__
__module____qualname__r7   rB   r<   rP   rG   r   strrH   rN   r   r
   r   rd   rj   r   r   ri   rs   r	   rt   ru   rv   r   r   r   r.   r8   r6   r   r      sl         $#'&*$$0%(#(##&&/ "!%%))> > > > >@$ $ $>d > > > > >DD D D D D D *. + + + + +? ?(3- ? ? ? ?"

 

 

 

 

 

8!%	>(A"BC8	#8 8 8 8
n 
 
 
 
 

%	9m(K"L QYZ]Q^    *
i 
C 
 
 
 
# # # # # #LF F F9 #    
8 
 
 
 
 
c      r8   r   )rK   rA   r[   typesr   r   typingr   r   re   r   r   r	   r
   r   r   r   r   r   stack_data.utilsr   r   r.   r8   r6   <module>r      s%    



     * * * * * * * * " " " " " " " "M M M M M M M M M M M M M M M M M M M M M M $ $ $ $ $ $^ ^ ^ ^ ^ ^ ^ ^ ^ ^r8   