
    .PhR                        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	  G d d          Z
 G d d	e
e          Z G d
 de
e          Z G d de
e          Zg dZdS )    )annotations)ABC)OrderedDict)Path)IS_WINc                  :   e Zd ZdZerdndZddZed             Zed             Z	ed	             Z
ed
             Zed             Zed             Zed             Zed             Zd Zed             Zed             Zed             Zed             Zd ZdS )Describez`Given a host interpreter tell us information about what the created interpreter might look like.z.exe returnNonec                Z    || _         || _        d | _        d | _        d | _        d | _        d S N)interpreterdest_stdlib_stdlib_platform_system_stdlib
_conf_vars)selfr   r   s      Z/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/virtualenv/create/describe.py__init__zDescribe.__init__   s3    &	 $"    c                    | j         S r   )
script_dirr   s    r   bin_dirzDescribe.bin_dir   s
    r   c                F    | j         | j                            d          z  S )Nscriptsr   r   install_pathr   s    r   r   zDescribe.script_dir        y4+88CCCCr   c                F    | j         | j                            d          z  S )Npurelibr   r   s    r   r#   zDescribe.purelib   r!   r   c                F    | j         | j                            d          z  S )Nplatlibr   r   s    r   r%   zDescribe.platlib#   r!   r   c                ~    t          t          | j        d f| j        d ff                                                    S r   )listr   r%   r#   keysr   s    r   libszDescribe.libs'   s7    K$,!5d7K LMMRRTTUUUr   c                    | j         3t          | j                            d| j                            | _         | j         S )Nstdlib
config_var)r   r   r   sysconfig_path_config_varsr   s    r   r+   zDescribe.stdlib+   s;    < 0 ? ?UYUf ? g ghhDL|r   c                    | j         3t          | j                            d| j                            | _         | j         S )N
platstdlibr,   )r   r   r   r.   r/   r   s    r   stdlib_platformzDescribe.stdlib_platform1   s>     ($()9)H)Hbfbs)H)t)t$u$uD!$$r   c                \    | j         |                     | j                  | _         | j         S r   )r   _calc_config_varsr   r   s    r   r/   zDescribe._config_vars7   s)    ?""44TY??DOr   c                `      j         j        } fd|                                D             S )Nc                b    i | ]+\  }}||!|                     j        j                  rn|,S r   )
startswithr   prefix).0kvr   tos      r   
<dictcomp>z.Describe._calc_config_vars.<locals>.<dictcomp>?   sA    www^b^_ab!-ALL9I9P,Q,Q-BBWXwwwr   )r   sysconfig_varsitems)r   r<   sys_varss   `` r   r4   zDescribe._calc_config_vars=   s9    #2wwwwwfnftftfvfvwwwwr   c                    dS )z.Knows means it knows how the output will look.T )clsr   s     r   can_describezDescribe.can_describeA   s	     tr   c                &    | j         j        d         S )N)r   partsr   s    r   env_namezDescribe.env_nameF   s    yr""r   c                L    | j         |                                  | j         z  S r   )r   exe_stemsuffixr   s    r   exezDescribe.exeJ   s$    |?$+????r   c                    t           )zcExecutable name without suffix - there seems to be no standard way to get this without creating it.)NotImplementedError)rC   s    r   rJ   zDescribe.exe_stemN   s
     "!r   c                (    | j         | | j         z  S r   )r   rK   )r   names     r   scriptzDescribe.scriptS   s    D!7$+!7!777r   N)r   r   )__name__
__module____qualname____doc__r   rK   r   propertyr   r   r#   r%   r)   r+   r2   r/   r4   classmethodrD   rH   rL   rJ   rQ   rB   r   r   r	   r	   
   s       jj%VV2F      X D D XD D D XD D D XD V V XV   X
 % % X%
   X
x x x   [ # # X# @ @ X@ " " ["8 8 8 8 8r   r	   c                  .     e Zd Ze fd            Z xZS )Python3Supportsc                f    |j         j        dk    o t                                          |          S )N   )version_infomajorsuperrD   rC   r   	__class__s     r   rD   zPython3Supports.can_describeX   s+    '-2Xuww7K7KK7X7XXr   rR   rS   rT   rW   rD   __classcell__r`   s   @r   rY   rY   W   sK        Y Y Y Y [Y Y Y Y Yr   rY   c                  .     e Zd Ze fd            Z xZS )PosixSupportsc                \    |j         dk    o t                                          |          S )Nposixosr^   rD   r_   s     r   rD   zPosixSupports.can_describe^   s'    ~(NUWW-A-A+-N-NNr   ra   rc   s   @r   re   re   ]   sK        O O O O [O O O O Or   re   c                  .     e Zd Ze fd            Z xZS )WindowsSupportsc                \    |j         dk    o t                                          |          S )Nntrh   r_   s     r   rD   zWindowsSupports.can_described   s'    ~%K%''*>*>{*K*KKr   ra   rc   s   @r   rk   rk   c   sK        L L L L [L L L L Lr   rk   )r	   re   rY   rk   N)
__future__r   abcr   collectionsr   pathlibr   virtualenv.infor   r	   rY   re   rk   __all__rB   r   r   <module>rt      sA   " " " " " "       # # # # # #       " " " " " "J8 J8 J8 J8 J8 J8 J8 J8ZY Y Y Y Yh Y Y YO O O O OHc O O OL L L L Lh L L L  r   