
    E d %                        d 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m	Z	 ddl
mZ  e            Z ej        d          Z ee          ZdZdZd	ed
efdZefd	ed
dfdZ G d d          Z e            Zded	edej        ej        ej        ej        df         f         d
efdZ	 ddededej        ded
ej        dej        e gef         f
dZ! G d d          Z"dS )zObject representations for debugging purposes. Unlike the default
repr, these expose more information and produce HTML instead of ASCII.

Together with the CSS and JavaScript of the debugger this gives a
colorful and more compact output.
    N)deque)format_exception_only)escapez(?:\r\n|\r|\n){2,}zL<div class=box>
  <h3>%(title)s</h3>
  <pre class=help>%(text)s</pre>
</div>zQ<div class=box>
  <h3>%(title)s</h3>
  %(repr)s
  <table>%(items)s</table>
</div>objreturnc                 D    t                                          |           S )z1Creates a debug repr of an object as HTML string.)DebugReprGeneratorrepr)r   s    \C:\Users\ChattiNader\Documents\MyHotelMatch\api\dev\Lib\site-packages\werkzeug/debug/repr.py
debug_reprr   #   s    $$S)))    c                     t                      }| t          u r-|                    t          j        d          j                  }n|                    |           }t          j                            |           dS )zdPrint the object details to stdout._write (for the interactive
    console of the web debugger.
       N)	r	   missingdump_localssys	_getframef_localsdump_objectstdout_write)r   genrvs      r   dumpr   (   se     

C
g~~__S]1--677__S!!Jbr   c                   P    e Zd ZdZdefdZddej        ej                 ddfdZ	dS )_HelperzDisplays an HTML version of the normal help, for the interactive
    debugger only because it requires a patched sys.stdout.
    r   c                     dS )Nz(Type help(object) for help about object. selfs    r   __repr__z_Helper.__repr__9   s    99r   Ntopicc                 &   |%t           j                            d| d           d S dd l}|                    |           t           j                                        }t          |t                    r|                    dd          }t          
                    |          }t          |          dk    r&|d         }d                    |dd                    }n
d}|d         }t           j                            t          ||d	z             d S )
Nz<span class=help></span>r   zutf-8ignorer   z

Help)titletext)r   r   r   pydochelpreset
isinstancebytesdecode_paragraph_resplitlenjoin	HELP_HTML)r    r"   r)   r   
paragraphsr'   r(   s          r   __call__z_Helper.__call__<   s    =JA$AAABBBF

5Zb%   	.7H--B"((,,
z??QqME;;z!""~..DDEa=D
)t&D&DDEEEEEr   N)
__name__
__module____qualname____doc__strr!   tOptionalAnyr5   r   r   r   r   r   4   sr         :# : : : :F Faj/ F4 F F F F F Fr   r   innerbase.c                     t          |t                    r|D ]}t          |          |u r| c S nt          |          |u r| S d}|j        j        dvrd|j        j         d}| t          |          j         d|  dS )N )__builtin__
exceptionsz<span class="module">z.</span>())r,   tupletype	__class__r8   r7   )r?   r   r@   clsmodules        r   _add_subclass_inforL   S   s     $  	 	CCyyC  	 
cd		F
}'DDDK)AKKK3d3ii(3353333r      leftrightlimitr	   c                 X     dddt           j        dt          dt          f fd}|S )Nr    r	   r   	recursiver   c                    |rt           d
 |          S g}d}t          |          D ]a\  }}|r|                    d           |	k    r|                    d           d}|                    |                     |                     b|r|                    d           |                    
           t          d                    |          |          S )Nz...F, <span class="extended">Tr$   rB   )rL   	enumerateappendr
   r2   )r    r   rR   bufhave_extended_sectionidxitemr@   rN   rP   rO   s          r   proxyz#_sequence_repr_maker.<locals>.proxye   s     	F%&9&9%&9&93EEEf %"3 	( 	(IC !

4   e||

4555(,%JJtyy''''  	"JJy!!!

5!"''#,,T:::r   )r<   Iterableboolr;   )rN   rO   r@   rP   r\   s   ```` r   _sequence_repr_makerr_   b   sY    ;( ;qz ;d ;s ; ; ; ; ; ; ; ; ;" Lr   c            	          e Zd ZddZ edde          Z edde          Z edd	e	          Z
 ed
d	e          Z edd	e          Zdej        defdZd dej        eef         dedefdZ	 d!dej        ej        edf         ej        eef         ej        ej        eef         ef         f         dededefdZdej        ej        ej        e         ej        ej        e         f                  defdZdej        dedefdZ defdZ!de"defdZ#de"defdZ$dej        eej        f         defdZ%	 d"dej&        ej'        eef                  dedej        e         defdZ(dS )#r	   r   Nc                     g | _         d S r6   )_stackr   s    r   __init__zDebugReprGenerator.__init__z   s    %'r   []rE   rF   zset([z])zfrozenset([z/<span class="module">collections.</span>deque([r   c                 l    t          |j                  }t          j        |dd          }d| }d| dS )Nzunicode-escaper%   rz&re.compile(<span class="string regex">z</span>))r
   patterncodecsr.   )r    r   rh   s      r   
regex_reprzDebugReprGenerator.regex_repr   sA    s{##-)98DDg--IIIIIr   F   rP   c           	         dg}t          |          }t          |          |z
  dk    rD|                    t          |d |                   dt          ||d                    df           n"|                    t          |                     |                    d           d                    |          }|d         dv s|d         dk    r'|d	         dv rt          ||t          t          f          S |S )
Nz<span class="string">   rU   r$   rB   r   z'"br   )	r
   r1   extendr   rW   r2   rL   r-   r;   )r    r   rP   rX   rg   outs         r   string_reprzDebugReprGenerator.string_repr   s    &'II q66E>AJJ1VeV9%%-1UVV9%%	    JJvayy!!!

9ggcll Q45==QqTS[[QqTU]]%c3=== 
r      drR   c           	      ,   |rt          d|t                    S dg}d}t          |                                          D ]\  }\  }}|r|                    d           ||dz
  k    r|                    d           d}|                    d|                     |           d	|                     |           d
           |r|                    d           |                    d           t          d                    |          |t                    S )Nz{...}{FrT   r   rU   Tz%<span class="pair"><span class="key">z</span>: <span class="value">z</span></span>r$   }rB   )rL   dictrV   itemsrW   r
   r2   )	r    rs   rR   rP   rX   rY   rZ   keyvalues	            r   	dict_reprzDebugReprGenerator.dict_repr   s6     	8%gq$777e %!*17799!5!5 		 		C#u !

4   eai

4555(,%JJI		# I I(,		%(8(8I I I    ! 	"JJy!!!

3!"''#,,4888r   c                 F    t          |          }dt          |           dS )Nz<span class="object">r$   )r
   r   )r    r   rg   s      r   object_reprzDebugReprGenerator.object_repr   s&     II9vayy9999r   c                 z   |t           u rdt           dS t          |t          t          t          f          rd|dS t          |t
                    st          |t                    r|                     |          S t          |t                    r| 	                    |          S t          |t                    r|                     ||          S t          |t                    r|                     ||          S t          |t                    r|                     ||          S t          |t                     r|                     ||          S t          |t$                    r|                     ||          S t          |t(                    r|                     ||          S |                     |          S )Nz<span class="help">r$   z<span class="number">)helperr,   intfloatcomplexr;   r-   rq   	RegexTyperj   list	list_reprrG   
tuple_reprsetset_repr	frozensetfrozenset_reprrw   r{   r   
deque_reprr}   )r    r   rR   s      r   dispatch_reprz DebugReprGenerator.dispatch_repr   s   &==:::::cC011 	:939999c3 	):c5#9#9 	)##C(((c9%% 	(??3'''c4   	2>>#y111c5!! 	3??3	222c3 	1==i000c9%% 	7&&sI666c4   	2>>#y111c5!! 	3??3	222$$$r   c                     	 d                     t          t          j                    d d                    }n# t          $ r d}Y nw xY wdt          |                                           dS )NrB   rm   ?z*<span class="brokenrepr">&lt;broken repr (z)&gt;</span>)r2   r   r   exc_info	Exceptionr   strip)r    infos     r   fallback_reprz DebugReprGenerator.fallback_repr   s    	770#,..!2DEFFDD 	 	 	DDD	C &tzz|| 4 4C C C	
s   58 AAc                 v   d}| j         D ]
}||u rd} n| j                             |           	 	 |                     ||          | j                                          S # t          $ r0 |                                 cY | j                                          S w xY w# | j                                          w xY w)NFT)rb   rW   r   popr   r   )r    r   rR   r[   s       r   r
   zDebugReprGenerator.repr   s    	K 	 	Ds{{ 	  	3	,))#y99 KOO  , , ,))++++KOO, KOOs#   A   B>B BB B8c           
      `   d }d }t          |t                    rad}g }|                                D ]H\  }}t          |t                    sd } n+|                    ||                     |          f           I|tg }|                     |          }t          |          D ]K}	 |                    ||                     t          ||                    f           <# t          $ r Y Hw xY wd}|dt          
                    |          dd          z  }|                     |||          S )NzContents ofzDetails for r   )r,   rw   rx   r;   rW   r
   dirgetattrr   objectr!   render_object_dump)r    r   r
   rx   r'   ry   rz   s          r   r   zDebugReprGenerator.dump_object   sM   7;c4   	6!EE!iikk 6 6
U!#s++  EEc499U#3#345555=E99S>>D3xx  LL#tyyc1B1B'C'C!DEEEE    D!E1V__S))!B$/111&&ueT:::s   &8C
C,+C,c                 p      fd|                                 D             }                     |d          S )Nc                 D    g | ]\  }}|                     |          fS r   )r
   ).0ry   rz   r    s      r   
<listcomp>z2DebugReprGenerator.dump_locals.<locals>.<listcomp>  s.    EEEZS%#tyy''(EEEr   zLocal variables in frame)rx   r   )r    rs   rx   s   `  r   r   zDebugReprGenerator.dump_locals  s;    EEEE17799EEE&&u.HIIIr   rx   r'   r
   c                    g }|D ].\  }}|                     dt          |           d| d           /|s|                     d           t          t          |          d|r|nd dd                    |          dz  S )	Nz<tr><th>z<td><pre class=repr>z</pre>z<tr><td><em>Nothing</em>z<pre class=repr>rB   
)r'   r
   rx   )rW   r   OBJECT_DUMP_HTMLr2   )r    rx   r'   r
   
html_itemsry   rz   s          r   r   z%DebugReprGenerator.render_object_dump  s     
 	Y 	YJCWWW%WWWXXXX 	:8999E]]Ct';ttCCCYYz**#
 #
 
 	
r   )r   N)rk   )rr   r6   ))r7   r8   r9   rc   r_   r   r   rG   r   r   r   r   r   r   r   r<   Patternr;   rj   Unionr-   r   rq   Dictr^   r{   r=   Typerw   Callabler}   r>   r   r   r   r
   r   r   ListTupler   r   r   r   r	   r	   y   s       ( ( ( ( %$S#t44I%%c366J##GT377H))-yIIN%%94 JJai JC J J J J qwsEz2 3     > 	9 9716#t)$afS#X&6qwsCx?PRU?U8VVW9 9 	9
 
9 9 9 92::agafTlAJt&LMN:	: : : :% %4 %C % % % %.
s 
 
 
 
 3    ;v ;# ; ; ; ;0JQVCJ/ JC J J J J
 UY
 
VAGCH-.
7:
BC*S/
	
 
 
 
 
 
r   )rM   )#r:   ri   rer   typingr<   collectionsr   	tracebackr   
markupsafer   r   r   compiler/   rH   r   r3   r   r;   r   r   r   r   r   r   r   rL   r   r   r]   r^   r_   r	   r   r   r   <module>r      s     				 



           + + + + + +      
&((
011D		 *F *s * * * *
  	 	f 	4 	 	 	 	F F F F F F F F8 
444#$71617163;3G+G#H44 4 4 4  78 
!"03Z%qz48#=>   .d
 d
 d
 d
 d
 d
 d
 d
 d
 d
r   