o
    Wiu	                     @  s   d dl mZ d dlZd dlZd dlZ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 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 dZe	jZe	jZe	jZd!ddZejd"ddZd#ddZd$dd ZdS )%    )annotationsN)	Generator)Sequence)	lang_base)
envcontext)PatchesT)SubstitutionT)UNSET)Var)Prefix)cmd_output_bcondaenvstrreturnr   c                 C  s   t j| dt jtdf}tjdkr5| t jg|R }t j| dt jg|R }t j| ddt jg|R }dtfdtfd| fd|ffS )	NbinPATHwin32ScriptsLibrary
PYTHONHOMEVIRTUAL_ENVCONDA_PREFIX)ospathjoinpathsepr
   sysplatformr	   )r   r    r   N/home/ubuntu/.local/lib/python3.10/site-packages/pre_commit/languages/conda.pyget_env_patch   s   
r!   prefixr   versionGenerator[None]c                 c  sH    t | t|}tt| d V  W d    d S 1 sw   Y  d S )N)r   environment_dirENVIRONMENT_DIRr   r!   )r"   r#   envdirr   r   r    in_env+   s
   "r(   c                   C  s$   t jdrdS t jdrdS dS )NPRE_COMMIT_USE_MICROMAMBA
micromambaPRE_COMMIT_USE_MAMBAmambar   )r   environgetr   r   r   r    
_conda_exe2   s
   r/   additional_dependenciesSequence[str]Nonec              
   C  sd   t d| t }t | t|}t|ddd|dd| jd |r0t|dd|g|R d	| ji d S d S )
Nr   r   createz-pz--filezenvironment.yml)cwdinstallr4   )r   assert_version_defaultr/   r%   r&   r   
prefix_dir)r"   r#   r0   	conda_exeenv_dirr   r   r    install_environment;   s    
r:   )r   r   r   r   )r"   r   r#   r   r   r$   )r   r   )r"   r   r#   r   r0   r1   r   r2   ) 
__future__r   
contextlibr   r   collections.abcr   r   
pre_commitr   pre_commit.envcontextr   r   r   r	   r
   pre_commit.prefixr   pre_commit.utilr   r&   basic_get_default_versionget_default_versionbasic_health_checkhealth_checkbasic_run_hookrun_hookr!   contextmanagerr(   r/   r:   r   r   r   r    <module>   s.    

	