a
    ӗa<T                     @   s"  d dl Z d dlZd dlZd dlZd dlZe je jgadada	da
dd Zdd Zdd Zdd	 Zd
d Zd1ddZdd Zdd Zdd Zdd Zdd Zdd Zd2ddZd3ddZdd Zd d! Zd"d# Zd$d% Zd&d' Zd(d) Zd*d+ Zd,d- Z e j!j"se   d.d/ Z#e$d0kre#  dS )4    Nc                  G   s@   t jj|  }zt j|}W n ty.   Y n0 |t j|fS N)ospathjoinabspathOSErrorZnormcase)Zpathsdir r	   '/home/manager/Python-3.9.10/Lib/site.pymakepath[   s    r   c                  C   s   t tj D ]z} tt| dd dd dvr,qztj| j| _W n t	t
tfyX   Y n0 ztj| j| _W q t	t
tfy   Y q0 qd S )N
__loader__
__module__)_frozen_importlib_frozen_importlib_external)setsysmodulesvaluesgetattrr   r   r   __file__AttributeErrorr   	TypeError
__cached__)mr	   r	   r
   	abs_pathsd   s    r   c                  C   sP   g } t  }tjD ],}t|\}}||vr| | || q| tjd d < |S r   )r   r   r   r   appendadd)Lknown_pathsr   dircaser	   r	   r
   removeduppathst   s    

r    c               	   C   sT   t  } tjD ]B}z&tj|r4t|\}}| | W q tyL   Y qY q0 q| S r   )r   r   r   r   existsr   r   r   )ditem_Zitemcaser	   r	   r
   _init_pathinfo   s    
r%   c                 C   s  |d u rt  }d}nd}tj| |}ztt|}W n tyN   Y d S 0 | t|D ]\}}|	drtq`zZ|	drt
| W q`| }t| |\}}	|	|vrtj|rtj| ||	 W q` tyR   td|d |tjd dd l}
|
jt  D ](}| D ]}td	| tjd qqtd
tjd Y  qVY q`0 q`W d    n1 sl0    Y  |rd }|S )NTF#)zimport zimport	z"Error processing line {:d} of {}:
   )filer   z  z
Remainder of file ignored)r%   r   r   r   ioTextIOWrapper	open_coder   	enumerate
startswithexecrstripr   r!   r   r   r   	Exceptionprintformatstderr	tracebackZformat_exceptionexc_info
splitlines)sitedirnamer   resetfullnamefnliner   r   r4   recordr	   r	   r
   
addpackage   sF    

0r?   c                 C   s   |d u rt  }d}nd}t| \} }||vrBtj|  || zt| }W n tyd   Y d S 0 dd |D }t	|D ]}t
| || q||rd }|S )NTFc                 S   s   g | ]}| d r|qS )z.pth)endswith).0r8   r	   r	   r
   
<listcomp>       zaddsitedir.<locals>.<listcomp>)r%   r   r   r   r   r   r   listdirr   sortedr?   )r7   r   r9   Zsitedircasenamesr8   r	   r	   r
   
addsitedir   s$    
rG   c                   C   s`   t jjrdS ttdr4ttdr4t t kr4d S ttdr\ttdr\t t kr\d S dS )NFgetuidgeteuidgetgidgetegidT)	r   flagsno_user_sitehasattrr   rI   rH   rK   rJ   r	   r	   r	   r
   check_enableusersite   s    
rO   c                  C   sz   t jdd } | r| S dd }t jdkrBt jdp6d}||dS tjdkrptjrp|dd	tjd
tjd d  S |ddS )NZPYTHONUSERBASEc                  W   s   t jt jj|  S r   )r   r   
expanduserr   )argsr	   r	   r
   joinuser   s    z_getuserbase.<locals>.joinuserntZAPPDATA~ZPythondarwinZLibraryz%d.%d   z.local)r   environgetr8   r   platform
_frameworkversion_info)Zenv_baserR   baser	   r	   r
   _getuserbase   s    


r]   c                 C   sd   t j}tjdkr,|  d|d  |d  dS t jdkrFt jrF|  dS |  d|d  d	|d  d
S )NrS   z\Pythonr   r'   z\site-packagesrU   z/lib/python/site-packagesz/lib/python.z/site-packages)r   r[   r   r8   rY   rZ   )userbaseversionr	   r	   r
   	_get_path
  s    

ra   c                   C   s   t d u rt a t S r   )	USER_BASEr]   r	   r	   r	   r
   getuserbase  s    rc   c                  C   s   t  } td u rt| atS r   )rc   	USER_SITEra   )r_   r	   r	   r
   getusersitepackages#  s    re   c                 C   s$   t  }tr tj|r t||  | S r   )re   ENABLE_USER_SITEr   r   isdirrG   )r   	user_siter	   r	   r
   addusersitepackages1  s    
ri   c              
   C   s   g }t  }| d u rt} | D ]}|r||v r,q|| tjg}tjdkrR|d tjdkr|D ].}tj	||dtj
d d  d}|| q`q|| |D ]}tj	||d}|| qq|S )NZlib/zpython%d.%drV   zsite-packages)r   PREFIXESr   r   
platlibdirr   r   sepr   r   r[   )prefixesZsitepackagesseenprefixZlibdirsZlibdirr   r	   r	   r
   getsitepackages?  s.    





rq   c                 C   s(   t |D ]}tj|rt||  q| S r   )rq   r   r   rg   rG   )r   rn   r7   r	   r	   r
   addsitepackagesc  s    rr   c                  C   s4   t jdkrd} nd} td| t_td| t_d S )N\zCtrl-Z plus ReturnzCtrl-D (i.e. EOF)quitexit)r   rm   _sitebuiltinsZQuitterbuiltinsrt   ru   )Zeofr	   r	   r
   setquitk  s
    
rx   c                  C   s   t dtjt_tjd d dkr2t ddt_nt ddt_g g  } }ttdrtj	
tj}| dd	g |tj	|tj|tjg t d
d| |t_d S )N	copyright   Zjavacreditsz?Jython is maintained by the Jython developers (www.jython.org).z    Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands
    for supporting Python development.  See www.python.org for more information.r   zLICENSE.txtZLICENSElicensez'See https://www.python.org/psf/license/)rv   Z_Printerr   ry   rw   rY   r{   rN   r   r   dirnamer   extendr   ZpardirZcurdirr|   )filesZdirsZherer	   r	   r
   setcopyright{  s"    

r   c                   C   s   t  t_d S r   )rv   Z_Helperrw   helpr	   r	   r	   r
   	sethelper  s    r   c                  C   s   dd } | t _d S )Nc                     s   dd l } zdd ldd l}W n ty0   Y d S 0 tdd}|d urZd|v rZd n
d z  W n ty   Y n0  dkrt	j
t	j
dd z  W n ty   Y n0  fd	d
}| | d S )Nr   __doc__ Zlibeditzbind ^I rl_completeztab: completerT   z.python_historyc                      s&   z   W n ty    Y n0 d S r   )Zwrite_history_filer   r	   Zhistoryreadliner	   r
   write_history  s    zCenablerlcompleter.<locals>.register_readline.<locals>.write_history)atexitr   rlcompleterImportErrorr   Zparse_and_bindZread_init_filer   Zget_current_history_lengthr   r   r   rP   Zread_history_fileregister)r   r   Zreadline_docr   r	   r   r
   register_readline  s0    
z,enablerlcompleter.<locals>.register_readline)r   Z__interactivehook__)r   r	   r	   r
   enablerlcompleter  s    	0r   c                 C   s^  t j}tjdkr*d|v r*t jd  }t_ntj}t jt j|\}}t j	|}d t_
d}dd t j||t j||fD }|rZ|d }d}	t|dd	f}
|
D ]P}d
|v r|d
\}}}|  }| }|dkr| }	q|dkr|t_
qW d    n1 s0    Y  | t_t_t| tjg |	dkrNtdtj ntjgada| S )NrU   Z__PYVENV_LAUNCHER__z
pyvenv.cfgc                 S   s   g | ]}t j|r|qS r	   )r   r   Zisfile)rA   Zconffiler	   r	   r
   rB     s   zvenv.<locals>.<listcomp>r   Ztruezutf-8)encoding=zinclude-system-site-packagesZhomeF)r   rW   r   rY   _base_executable
executabler   splitr   r}   Z_homer   open	partitionstriplowerrp   exec_prefixrr   rk   insertrf   )r   Zenvr   Zexe_dirr$   Zsite_prefixZconf_basenameZcandidate_confsZvirtual_confZsystem_siter;   r=   keyvaluer	   r	   r
   venv  sB    
(
r   c               
   C   s   zDzdd l } W n2 ty@ } z|jdkr*n W Y d }~n
d }~0 0 W nT ty } z<tjjrltjt   ntj	
d|jj|f  W Y d }~n
d }~0 0 d S )Nr   sitecustomizez@Error in sitecustomize; set PYTHONVERBOSE for traceback:
%s: %s
)r   r   r8   r0   r   rL   verbose
excepthookr5   r3   write	__class____name__)r   excerrr	   r	   r
   execsitecustomize  s    

r   c               
   C   s   zDzdd l } W n2 ty@ } z|jdkr*n W Y d }~n
d }~0 0 W nT ty } z<tjjrltjt   ntj	
d|jj|f  W Y d }~n
d }~0 0 d S )Nr   usercustomizez@Error in usercustomize; set PYTHONVERBOSE for traceback:
%s: %s
)r   r   r8   r0   r   rL   r   r   r5   r3   r   r   r   )r   r   r   r	   r	   r
   execusercustomize  s    

r   c                  C   s~   t jd d  } t }| t jkr$t  t|}td u r:t at|}t|}t	  t
  t  t jjsjt  t  trzt  d S r   )r   r   r    r   r   rf   rO   ri   rr   rx   r   r   rL   isolatedr   r   r   )Z	orig_pathr   r	   r	   r
   main-  s"    
r   c                  C   s\  d} t jdd  }|st }t }td t jD ]}td|f  q0td td|tj|rbdndf  td	|tj|rdndf  td
t  t 	d g }d|v r|
t d|v r|
t |r(ttj| trt 	d n6tdu rt 	d n td u rt 	d n
t 	d n0dd l}t|| t jd tjf  t 	d d S )Na      %s [--user-base] [--user-site]

    Without arguments print some useful information
    With arguments print the value of USER_BASE and/or USER_SITE separated
    by '%s'.

    Exit codes with --user-base or --user-site:
      0 - user site directory is enabled
      1 - user site directory is disabled by user
      2 - user site directory is disabled by super user
          or for security reasons
     >2 - unknown error
    r'   zsys.path = [z    %r,]zUSER_BASE: %r (%s)r!   zdoesn't existzUSER_SITE: %r (%s)zENABLE_USER_SITE: %rr   z--user-basez--user-siteFrV      
   )r   argvrc   re   r1   r   r   rg   rf   ru   r   rb   rd   Zpathsepr   textwrapZdedent)r   rQ   Z	user_baserh   r   bufferr   r	   r	   r
   _scriptO  sD    





r   __main__)N)N)N)%r   r   rw   rv   r)   rp   r   rk   rf   rd   rb   r   r   r    r%   r?   rG   rO   r]   ra   rc   re   ri   rq   rr   rx   r   r   r   r   r   r   r   rL   no_siter   r   r	   r	   r	   r
   <module>H   sF   	*
 
$
;4
3
