a
    |f                     @   s\   d Z ddlZddlZddlZddlZddgZedZG dd deZ	dd	dZ
d
d ZdS )zPThe debug module contains utilities and functions for better
debugging Gunicorn.    Nspewunspewz\W+c                   @   s   e Zd ZdddZdd ZdS )SpewNTc                 C   s   || _ || _d S )Ntrace_namesshow_values)selfr   r    r	   HD:\Projects\storyit_web\backend\venv\Lib\site-packages\gunicorn/debug.py__init__   s    zSpew.__init__c                 C   sL  |dkrH|j }d|jv r\|jd }|ds8|drD|d d }|jd }t||}n@d}zt|}|| }W n$ ty   d|jj	|j
f }Y n0 | jd u s|| jv rHtd	||| f  | js| S g }	t|}
|
D ]J}||jv r|	d
||j| f  ||jv r|	d
||j| f  q|	rHtdd|	  | S )Nline__file__z.pycz.pyo__name__z	[unknown]z,Unknown code named [%s].  VM instruction #%dz	%s:%s: %sz%s=%rz	%s )f_lineno	f_globalsendswith	linecachegetlineinspectgetsourcelinesIOErrorf_codeco_namef_lastir   printrstripr   _token_splitersplitappendf_localsjoin)r   frameeventarglinenofilenamenamer   srcdetailstokenstokr	   r	   r
   __call__   s@    








zSpew.__call__)NT)r   
__module____qualname__r   r-   r	   r	   r	   r
   r      s   
r   Fc                 C   s   t t| | dS )zpInstall a trace hook which writes incredibly detailed logs
    about what code is being executed to stdout.
    N)syssettracer   r   r	   r	   r
   r   ;   s    c                   C   s   t d dS )z-Remove the trace hook installed by spew.
    N)r0   r1   r	   r	   r	   r
   r   B   s    )NF)__doc__r0   r   rer   __all__compiler   objectr   r   r   r	   r	   r	   r
   <module>   s   
(
