
    3i	                        d dl mZ d dlZd dlZd dlmZ d dlmZ erd dlm	Z	  ej                  e      Z G d d      ZdgZy)    )annotationsN)OrderedDict)TYPE_CHECKING)Pathc                      e Zd ZddZedd       Zedd       Zedd       ZddZ	ddZ
ddZddZdd	Zdd
ZddZy)PyEnvCfgc                     || _         || _        y N)contentpath)selfr   r   s      N/var/www/opsc/venv/lib/python3.12/site-packages/virtualenv/create/pyenv_cfg.py__init__zPyEnvCfg.__init__   s    	    c                *    | j                  |dz        S )Nz
pyvenv.cfg)	from_file)clsfolders     r   from_folderzPyEnvCfg.from_folder   s    }}Vl233r   c                p    |j                         r| j                  |      n	t               }t        ||      S r
   )exists_read_valuesr   r   )r   r   r   s      r   r   zPyEnvCfg.from_file   s+    ,0KKM#""4({}&&r   c                ,   t               }| j                  d      j                         D ]f  }|j                  d      }|d | j	                         }||dz   d  j	                         }t        |      dkD  r|d   dv r|d   |d   k(  r|dd }|||<   h |S )Nutf-8encoding=   r   >   "')r   	read_text
splitlinesindexstriplen)r   r   line	equals_atkeyvalues         r   r   zPyEnvCfg._read_values   s    -NNGN4??A 	!D

3Iz	"((*CQ)//1E5zA~%(j"8U1Xr=Ra GCL	! r   c                   t         j                  d| j                         d}| j                  j	                         D ]|  \  }}|dk(  r	|rd| d}nB|r>t
        j                  j                  |      rt
        j                  j                  |      n|}| d| }t         j                  d|       ||z  }|dz  }~ | j                  j                  |d	       y )
Nzwrite %s promptr   z = z	%s
r   r   )	LOGGERdebugr   r   itemsosr   abspath
write_text)r   textr)   r*   normalized_valuer'   s         r   writezPyEnvCfg.write(   s    Z+,,,,. 
	JC h5%&ugQ< =Brww~~V[G\277??5#9bg U#./0DLL&DLDDLD
	 			TG4r   c                Z    | j                  | j                        | _        | j                  S r
   )r   r   r   r   s    r   refreshzPyEnvCfg.refresh8   s"    ((3||r   c                "    || j                   |<   y r
   r   )r   r)   r*   s      r   __setitem__zPyEnvCfg.__setitem__<   s    !Sr   c                     | j                   |   S r
   r<   )r   r)   s     r   __getitem__zPyEnvCfg.__getitem__?   s    ||C  r   c                    || j                   v S r
   r<   )r   items     r   __contains__zPyEnvCfg.__contains__B   s    t||##r   c                <    | j                   j                  |       | S r
   )r   update)r   others     r   rD   zPyEnvCfg.updateE   s    E"r   c                N    | j                   j                   d| j                   dS )Nz(path=))	__class____name__r   r9   s    r   __repr__zPyEnvCfg.__repr__I   s$    ..))*&1==r   N)r   OrderedDict[str, str]r   r   returnNone)r   r   rL   r   )r   r   rL   r   )r   r   rL   rK   )rL   rM   )rL   rK   )r)   strr*   rN   rL   rM   )r)   rN   rL   rN   )rA   rN   rL   bool)rE   zdict[str, str]rL   r   )rL   rN   )rI   
__module____qualname__r   classmethodr   r   staticmethodr   r7   r:   r=   r?   rB   rD   rJ    r   r   r   r      sf     4 4 ' ' 	 	5 "!$>r   r   )
__future__r   loggingr2   collectionsr   typingr   pathlibr   	getLoggerrI   r/   r   __all__rT   r   r   <module>r\      sC    "  	 #  			8	$<> <>@ r   