a
    )ñ»j§  ã                   @   sü   d dl mZ d dlmZmZmZmZ ddlmZ ddl	m
Z
 ddlmZ ddlmZ ddlmZmZ erxdd	lmZmZ d
ddd
d
d
d
dœdee eeee ee ee ed ddœ	dd„Zedkrød dlmZ eƒ  eed
dœdd„Zeddƒ eƒ  d
S )é    )ÚMapping)ÚTYPE_CHECKINGÚAnyÚOptionalÚTupleé   )ÚReprHighlighter)ÚPanel)ÚPretty)ÚTable)ÚTextÚTextType)ÚConsoleRenderableÚOverflowMethodNTF)ÚtitleÚ	sort_keysÚindent_guidesÚ
max_lengthÚ
max_stringÚ	max_depthÚoverflowzMapping[str, Any]r   r   )	Úscoper   r   r   r   r   r   r   Úreturnc                C   s¸   t ƒ }tjddd�}	|	jdd� tttf tttf dœdd„}
|rTt|  	¡ |
d	�n|  	¡ }|D ]D\}}t
 || d
¡r|dndfd¡}|	 |t|||||||d�¡ q`tj|	|ddd�S )a—  Render python variables in a given scope.

    Args:
        scope (Mapping): A mapping containing variable names and values.
        title (str, optional): Optional title. Defaults to None.
        sort_keys (bool, optional): Enable sorting of items. Defaults to True.
        indent_guides (bool, optional): Enable indentation guides. Defaults to False.
        max_length (int, optional): Maximum length of containers before abbreviating, or None for no abbreviation.
            Defaults to None.
        max_string (int, optional): Maximum length of string before truncating, or None to disable. Defaults to None.
        max_depth (int, optional): Maximum depths of locals before truncating, or None to disable. Defaults to None.
        overflow (OverflowMethod, optional): How to handle overflowing locals, or None to disable. Defaults to None.

    Returns:
        ConsoleRenderable: A renderable object.
    )r   r   F)ÚpaddingÚexpandÚright)Újustify)Úitemr   c                 S   s   | \}}|  d¡ | ¡ fS )z2Sort special variables first, then alphabetically.Ú__)Ú
startswithÚlower)r   ÚkeyÚ_© r#   ú0E:\soccer\ml_env\Lib\site-packages\rich/scope.pyÚ
sort_items-   s    z render_scope.<locals>.sort_items)r!   r   zscope.key.specialz	scope.key)z =zscope.equals)Úhighlighterr   r   r   r   r   zscope.border)r   Úborder_styler   )r   r   ÚgridÚ
add_columnr   Ústrr   ÚboolÚsortedÚitemsr   Úassembler   Úadd_rowr
   r	   Úfit)r   r   r   r   r   r   r   r   r&   Úitems_tabler%   r-   r!   ÚvalueÚkey_textr#   r#   r$   Úrender_scope   s8     þùþür4   Ú__main__)Úprint)ÚfooÚbarr   c                 C   s6   g d¢}ddg d¢dgddœ}t ttƒ dd	d
�ƒ d S )N)r   é   é   Né   TFzHello Worldz1.1ZconfirmFruitPurchase)ÚappleZorangeZmangoesZpomelog+‡ÙÎ÷ñ?Z	194521489)ÚversionÚmethodÚparamsÚidz	[i]localsF)r   r   )r6   r4   Úlocals)r7   r8   Zlist_of_thingsZdict_of_thingsr#   r#   r$   ÚtestQ   s    
ürB   gºk	ù W4@gÉå?$	@)Úcollections.abcr   Útypingr   r   r   r   r&   r   Úpanelr	   Úprettyr
   Útabler   Útextr   r   Úconsoler   r   r+   Úintr4   Ú__name__Úrichr6   ÚfloatrB   r#   r#   r#   r$   Ú<module>   s@   ÷ö>

