o
    �PÔa¿  ã                   @   sø   d dl Z d dlmZ d dlmZmZ d dlmZ d dlm	Z	 d dl
mZmZ d dlmZmZmZ d dlmZ d d	lmZ d d
lmZ dedee dedee dededededefdd„Zdedee dee dee dededededefdd„ZdS )é    N)ÚPath)ÚListÚOptional)Ú	constants)Úbold)Úpackage_name_from_specÚrun_post_install_actions)ÚEXIT_CODE_INJECT_ERRORÚEXIT_CODE_OKÚExitCode)Ústars)Ú	PipxError)ÚVenvÚvenv_dirÚpackage_nameÚpackage_specÚpip_argsÚverboseÚinclude_appsÚinclude_dependenciesÚforceÚreturnc          	   
   C   sî   |   ¡ r
t|  ¡ ƒstd|›d| j›d| j› d�ƒ‚t| |d�}|js7td|›d|j›d|j›d|j›d	�	ƒ‚|d u rDt||j||d
�}|j	|||||dd� |r\t
||tj| ||d� tdt|ƒ› dt|jƒ› �ƒ tdt› �tjd� dS )Nz
            Can't inject z2 into nonexistent Virtual Environment
            zF. Be sure to install the package first with 'pipx
            install z(' before injecting into it.
            )r   z& into Virtual Environment
            z. z˜ has missing internal pipx metadata. It
            was likely installed using a pipx version before 0.15.0.0. Please
            uninstall and install z', or reinstall-all to fix.
            )r   r   F)r   Úpackage_or_urlr   r   r   Úis_main_package)r   z  injected package z into venv zdone! )ÚfileT)ÚexistsÚnextÚiterdirr   Únamer   Úpackage_metadatar   ÚpythonÚinstall_packager   r   ÚLOCAL_BIN_DIRÚprintr   r   ÚsysÚstderr)	r   r   r   r   r   r   r   r   Úvenv© r'   ú6/usr/lib/python3/dist-packages/pipx/commands/inject.pyÚ
inject_dep   s^   ÿþýÿÿþþüÿ
ÿúú	r)   Úpackage_specsc          
      C   sF   |s|rt dƒ‚d}|D ]}	|t| d|	|||||d�M }q|r!tS tS )zReturns pipx exit code.zBCannot pass --include-deps if --include-apps is not passed as wellTN)r   r   r   r   )r   r)   r
   r	   )
r   r   r*   r   r   r   r   r   Úall_successÚdepr'   r'   r(   ÚinjectN   s"   ÿ
ør-   )r$   Úpathlibr   Útypingr   r   Úpipxr   Úpipx.colorsr   Úpipx.commands.commonr   r   Úpipx.constantsr	   r
   r   Úpipx.emojisr   Ú	pipx.utilr   Ú	pipx.venvr   ÚstrÚboolr)   r-   r'   r'   r'   r(   Ú<module>   s`    ÿþýüúùø	÷

ö@ÿþýüúùø	÷
ö