o
    MK&h                     @   sj   d dl Z d dlZd dlmZ ddlmZ h dZejejej	ej
fZe dZdd Zd	d
 Zdd ZdS )    N)reduce   )logger>   _InOutz <.* object at 0x[0-9a-fA-F]{5,}>c              	      s   fdddD }g }|   D ]\}}|tv st|trqzt|j}||vr)W qz
t|}t|}W n
 ty=   Y W qw |sE|rE|}nCt	
|rd}	t|  D ]/\}
}| d|
 } rd||vrdqRt|j}|tv rnqR|d| 7 }|||t|ff7 }d}	qR|	rW qd}zYtt|d	dd
d }||krtt|d}|rddd |D d nd}zt|d}|r|jdkrd| nd}W n ty   d}Y nw |d| | | 7 }W n	 ty   Y nw |||t|ff7 }W q ty   td Y qw |S )Nc                    s(   h | ]}t | D ]}|d q
qS )r   )refinditergroup).0pm
sourcecode F/var/www/html/venv/lib/python3.10/site-packages/tracerite/inspector.py	<setcomp>   s    
z$extract_variables.<locals>.<setcomp>)z\w+z\w+\.\w+F.z in Tu   ⋯dtyper   shape   ×c                 s   s    | ]	}t |d  V  qdS )r   N)str)r   dr   r   r   	<genexpr>=   s    z$extract_variables.<locals>.<genexpr>  devicecpu@z of z/Variable inspector failed (please report a bug))itemsblacklist_names
isinstanceblacklist_typestype__name__r   repr	Exceptionno_str_conv	fullmatch	safe_varsprettyvalueobject__getattribute__rsplitAttributeErrorjoinr   	exception)	variablesr   identifiersrowsnamevaluetypenamestrvalue	reprvaluefoundnvmnametnamer   r   dimsdevr   r   r   extract_variables   sn   



  rA   c              	   C   s<   i }t | D ]}z
t| |||< W q ty   Y qw |S )z2Like vars(), but also supports objects with slots.)dirr,   r-   r/   )objretattrr   r   r   r*   L   s   r*   c              	   C   s  t | ttfr&dt|   k rdksn dt|  dS ddd | D S t | tr4| j d| j S z{t	| d	}t |tr| j
rtd
d |}|dkrU| d dW S t|dkr|d dkrlddd | D W S dd g | d d | dd  R D }dg |d d d|dd  W S t|dkr|d dkr|d dkrdd | D W S W n ttfy   Y n ty   td Y nw zt | tpdt| jv }W n ty   d}Y nw |r| d}nt | trt| }nt| }t|dkr|d d d |dd   S |S )Nr   
   (z items)z, c                 s   s     | ]}t |d d V  qd S )NP   )r&   r   r<   r   r   r   r   [   s    zprettyvalue.<locals>.<genexpr>r   r   c                 S   s   | | S )Nr   )xyr   r   r   <lambda>b   s    zprettyvalue.<locals>.<lambda>r   z.2gd   c                 s   s    | ]}|d V  qdS ).2fNr   rI   r   r   r   r   h   s    c                 S      g | ]}|d qS rN   r   rI   r   r   r   
<listcomp>j       zprettyvalue.<locals>.<listcomp>   u   …   c                 S   s   g | ]	}d d |D qS )c                 S   rO   rP   r   rI   r   r   r   rQ   n   rR   z*prettyvalue.<locals>.<listcomp>.<listcomp>r   )r   rowr   r   r   rQ   n   s    zBPretty-printing in variable inspector failed (please report a bug)floatFx      u    … i)r"   listtuplelenr0   r$   
__module__r%   r,   r-   r   r   r/   
ValueErrorr'   r   r1   rW   r   r   r&   )valr   numelemfmtfloatyrD   r   r   r   r+   W   sH   
(($r+   )r   types	functoolsr   loggingr   r!   
ModuleTypeFunctionType
MethodTypeBuiltinFunctionTyper#   compiler(   rA   r*   r+   r   r   r   r   <module>   s    
;