o
    Ú­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r<dd	lmZmZ d
ddd
d
d
d
dœdddee dededee dee dee ded ddfdd„Zedkrˆd dlmZ eƒ  dededd
fd d!„Zed"d#ƒ eƒ  d
S 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ÚoverflowÚscopezMapping[str, Any]r   r   r   r   r   r   r   r   Úreturnr   c                C   sº   t ƒ }tjddd�}	|	jdd� dtttf dtttf fdd	„}
|r+t|  	¡ |
d
�n|  	¡ }|D ]"\}}t
 || d¡r?dndfd¡}|	 |t|||||||d�¡ q1t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#   úG/var/www/html/CropPilot/venv/lib/python3.10/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Úbarc                 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.1ÚconfirmFruitPurchase)ÚappleÚorangeÚmangoesÚpomelog+‡ÙÎ÷ñ?Ú	194521489)ÚversionÚmethodÚparamsÚidz	[i]localsF)r   r   )r6   r4   Úlocals)r7   r8   Úlist_of_thingsÚdict_of_thingsr#   r#   r$   ÚtestQ   s   
ürI   gºk	ù W4@gÉå?$	@)Úcollections.abcr   Útypingr   r   r   r   r&   r   Úpanelr	   Úprettyr
   Útabler   Útextr   r   Úconsoler   r   r+   Úintr4   Ú__name__Úrichr6   ÚfloatrI   r#   r#   r#   r$   Ú<module>   sT    ÷ÿýüûúùø	÷

ö>


ð