o
    jT                     @   sV  d dl mZ d dlmZmZmZmZmZmZm	Z	m
Z
mZmZ e
dZeeeee eeef eeeef f  ZeZG dd deZedee	e  de	e fdd	Zed
ddedee	e ge	e f fdd	Z	ddddee	e  dee dee	e ee	e ge	e f f fdd	Zedee	e  de	e fddZed
ddedee	e ge	e f fddZ	dd
ddee	e  dedee	e ee	e ge	e f f fddZedkr)eG dd dZe Zd dlmZ e Zed ee ejedd ejedd ed dej_ee ejedd ejedd dS dS )    )partial)
AnyCallableIterableListOptionalTupleTypeTypeVarUnionoverloadTc                   @   s   e Zd ZdZdS )	ReprErrorz2An error occurred when attempting to build a repr.N)__name__
__module____qualname____doc__ r   r   O/var/www/html/fyndo/pharma/fyndo/venv/lib/python3.10/site-packages/rich/repr.pyr      s    r   clsreturnc                 C      d S Nr   r   r   r   r   auto      r   Fangularr   c                 C   r   r   r   r   r   r   r   r      r   Nc                C   sD   ddt t dtt dt t fdd}| du rt||dS || |dS )	z5Class decorator to create __repr__ from __rich_repr__Nr   r   r   c                 S   s^   dt dtfdd}dtt  dtfdd}t| dsd|_|| _d	|_|| _|d ur-|| j_| S )
Nselfr   c                 S   s   g }|j }t| jdd}|  D ]?}t|trIt|dkr&|t|d  q|^}}}|du r6|t| q|r?|d |kr?q|| d| q|t| q|r`d| jj dd	| d	S | jj d
d	| dS )z%Create repr string from __rich_repr__r   F   r   N=< >(z, ))
appendgetattr__rich_repr__
isinstancetuplelenrepr	__class__r   join)r   repr_strr&   r   argkeyvaluedefaultr   r   r   	auto_repr*   s"   

z+auto.<locals>.do_replace.<locals>.auto_reprc              
   s   s    zGddl }|| j}|j D ]4\}}|j|jkr"t| |V  q|j|j|j	fv rE|j
|ju r9t| |jV  q|jt| |j|j
fV  qW dS  ty\ } ztd| dd}~ww )z5Auto generate __rich_rep__ from signature of __init__r   Nz'Failed to auto generate __rich_repr__; )inspect	signature__init__
parametersitemskindPOSITIONAL_ONLYr'   POSITIONAL_OR_KEYWORDKEYWORD_ONLYr3   emptyname	Exceptionr   )r   r5   r6   r?   paramerrorr   r   r   auto_rich_reprC   s0   z0auto.<locals>.do_replace.<locals>.auto_rich_reprr(   zBuild a rich reprzReturn repr(self))	r   strr	   Resulthasattrr   r(   __repr__r   )r   r   r4   rC   r   r   r   
do_replace)   s   
zauto.<locals>.do_replacer   r   )r	   r   r   boolr   )r   r   rH   r   r   r   r   $   s   $:c                 C   r   r   r   r   r   r   r   	rich_repri   r   rJ   c                 C   r   r   r   r   r   r   r   rJ   n   r   c                C   s   | d u r	t |dS t | S )Nr   )r   )r   r   r   r   r   rJ   s   s   
__main__c                   @   s   e Zd ZdefddZdS )Foor   c                 c   s$    dV  ddg difV  dV  d S )Nfoobarshopping)eggsham	pineapple)buyzhand sanitizerr   )r   r   r   r   r(      s   
zFoo.__rich_repr__N)r   r   r   rE   r(   r   r   r   r   rL   ~   s    rL   )ConsolezStandard repr<   )width   zAngular reprTr   ) 	functoolsr   typingr   r   r   r   r   r   r	   r
   r   r   r   rD   rE   RichReprResultr@   r   r   rI   rJ   r   rL   rM   rich.consolerT   consoleruleprintr(   r   r   r   r   r   <module>   sd    0* ,
 
E ,
 

	



