
    AHj                       U d Z ddlmZ ddlZddlmZ ddlmZmZ ddl	m
Z
 ej                  j                  ZdFdZ	 dG	 	 	 	 	 	 	 	 	 dHd	ZdId
ZdJdZdKdZ ed      Zded<   	  edd      Zded<   	  edd      Zded<   	  edd      Zded<   	  edd      Zded<   	  edd      Zded<   	  ed d!d!"      Zded#<   	  ed$      Zded%<   	  ed&      Zded'<   	  ed(d      Zded)<   	  ed*      Zded+<   	  ed,d-d."      Zded/<   	  ed0d1      Z ded2<   	  e       Z!d3ed4<   	  ed5d6d."      d7z  Z"d8ed9<   	  ed:d;d6"      Z#ded<<   	  ed=d>      Z$ded?<   	  ed@d.      d.k(  Z%dedA<   	  edBdCdd6D      d6z  Z&d8edE<   y)LzL
This module contains constants, which may be set in environment variables.
    )annotationsN)get_args)Final	TypeGuard)AnimationLevelc                "    t        |       dk(  }|S )zCheck an environment variable switch.

    Args:
        name: Name of environment variable.

    Returns:
        `True` if the env var is "1", otherwise `False`.
    1)get_environ)namehas_environs     I/root/tools/cai/cai_env/lib/python3.12/site-packages/textual/constants.py_get_environ_boolr      s     d#s*K    intc                    	 t        t        j                  |          }|t        ||      S |t        ||      S |S # t        $ r |cY S t        $ r |cY S w xY w)a  Retrieves an integer environment variable.

    Args:
        name: Name of environment variable.
        default: The value to use if the value is not set, or set to something other
            than a valid integer.
        minimum: Optional minimum value.

    Returns:
        The integer associated with the environment variable if it's set to a valid int
            or the default value otherwise.
    )r   osenvironKeyError
ValueErrormaxmin)r   defaultminimummaximumvalues        r   _get_environ_intr      sj    BJJt$%
 7E""7E""L   s   < A	
AAc                    	 t        t        j                  |          }|dk  s|dkD  r|S |S # t        $ r |cY S t        $ r |cY S w xY w)ah  Get a port no. from an environment variable.

    Note that there is no 'minimum' here, as ports are more like names than a scalar value.

    Args:
        name: Name of environment variable.
        default: The value to use if the value is not set, or set to something other
            than a valid port.

    Returns:
        An integer port number.

    r   i  )r   r   r   r   r   )r   r   r   s      r   _get_environ_portr   :   sV    BJJt$%
 qyEEML   s   , A
AAc                $    | t        t              v S )zChecks if a string is a valid animation level.

    Args:
        value: The string to check.

    Returns:
        Whether it's a valid level or not.
    )r   r   r   s    r   _is_valid_animation_levelr!   S   s     H^,,,r   c                 R    t        dd      j                         } t        |       r| S y)ag  Get the value of the environment variable that controls textual animations.

    The variable can be in any of the values defined by [`AnimationLevel`][textual.constants.AnimationLevel].

    Returns:
        The value that the variable was set to. If the environment variable is set to an
            invalid value, we default to showing all animations.
    TEXTUAL_ANIMATIONSFULLfull)r
   lowerr!   r    s    r   _get_textual_animationsr'   _   s*     16:@@BE 'r   TEXTUAL_DEBUGzFinal[bool]DEBUGTEXTUAL_DRIVERzFinal[str | None]DRIVERTEXTUAL_FILTERS z
Final[str]FILTERSTEXTUAL_LOGLOG_FILETEXTUAL_DEVTOOLS_HOSTz	127.0.0.1DEVTOOLS_HOSTTEXTUAL_DEVTOOLS_PORTi  z
Final[int]DEVTOOLS_PORTTEXTUAL_SCREENSHOT)r   SCREENSHOT_DELAYTEXTUAL_SCREENSHOT_LOCATIONSCREENSHOT_LOCATIONTEXTUAL_SCREENSHOT_FILENAMESCREENSHOT_FILENAMETEXTUAL_PRESSPRESSTEXTUAL_SHOW_RETURNSHOW_RETURNTEXTUAL_FPS<      MAX_FPSTEXTUAL_COLOR_SYSTEMautoCOLOR_SYSTEMzFinal[AnimationLevel]r#   ESCDELAYd   g     @@zFinal[float]ESCAPE_DELAYTEXTUAL_SLOW_THRESHOLDi  SLOW_THRESHOLDTEXTUAL_THEMEztextual-darkDEFAULT_THEMETEXTUAL_SMOOTH_SCROLLSMOOTH_SCROLLTEXTUAL_DIM_FACTORB   )r   r   
DIM_FACTOR)r   strreturnbool)NN)
r   rS   r   r   r   
int | Noner   rV   rT   r   )r   rS   r   r   rT   r   )r   rS   rT   zTypeGuard[AnimationLevel])rT   r   )'__doc__
__future__r   r   typingr   typing_extensionsr   r   textual._typesr   r   getr
   r   r   r   r!   r'   r)   __annotations__r+   r.   r0   r2   r4   r7   r9   r;   r=   r?   rC   rF   r#   rI   rK   rM   rO   rR    r   r   <module>r_      s(   # 	  . )jjnn
 PT
&0BL82	- '7{ 7 '(8$? ? $!"3R8 8 0)->
 > P'(?Mz M 0-.EtLz L ?/0DbRTU * U C)45R)S & S 7)45R)S & S -4z 4 ",-BC[ C %&}b!D D ,"-.Df"M M ",C,E ) E /-j#qIFRl R o&'?cR R (Hz H ..EqIQN{ N )2q#FL L  Pr   