Viewing File: /opt/hc_python/lib/python3.12/site-packages/pre_commit/__pycache__/repository.cpython-312.pyc

�

i0i����ddlmZddlZddlZddlZddlmZddlmZddl	m
Zddlm
Z
ddlmZddlmZddlmZdd	lmZdd
lmZddlmZddlmZdd
lmZddlmZej:d�Zdd�Zdd�Z dd�Z!dd�Z"dd�Z#d d�Z$						d!d�Z%								d"d�Z&								d"d�Z'								d"d�Z(d#d�Z)d$d�Z*y)%�)�annotationsN)�Sequence)�Any)�	languages)�
load_manifest)�LOCAL)�META)�Hook)�environment_dir)�Prefix)�Store)�clean_path_on_failure)�rmtree�
pre_commitc�B�tjj|d�S)Nz.install_state_v1��os�path�join��venvs �D/opt/hc_python/lib/python3.12/site-packages/pre_commit/repository.py�_state_filename_v1r���
�7�7�<�<��1�2�2�c�B�tjj|d�S)Nz.install_state_v2rrs r�_state_filename_v2rrrc�
�d|iS)N�additional_dependencies�)�additional_depss r�_stater"!s
��%��7�7rc���t|�}tjj|�syt	|�5}tj|�cddd�S#1swYyxYw�N)rrr�exists�open�json�load)r�filename�fs   r�_read_stater+%s=��!�$�'�H�
�7�7�>�>�(�#��
�(�^�q��9�9�Q�<��^�^�s�A�Ac��t|j}|j�yt|j|j|j
�}tjjt|��xs!t|�t|j�k(xr'|j|j|j
�S)NT)r�language�ENVIRONMENT_DIRr�prefix�language_versionrrr%rr+r"r�health_check)�hook�langrs   r�_hook_installedr4.s����T�]�]�#�D����#�������������D�
�G�G�N�N�-�d�3�4�
F������(D�(D�!E�E�	B�
���d�k�k�4�+@�+@�A�A�rc	���tjd|j�d��tjd�tjd�t|j}|j
�J�t
|j|j
|j�}tjj|�rt|�t|�5|j|j|j|j�|j!|j|j�}|rt#d|j�d|����t%|�}|�d�}t'|d�5}|j)t+j,t/|j���ddd�tj0||�t't3|�d	�j5�ddd�y#1swY�KxYw#1swYyxYw)
NzInstalling environment for �.z/Once installed this environment will be reused.zThis may take a few minutes...zBUG: expected environment for zh to be healthy immediately after install, please open an issue describing your environment

more info:

�staging�wza+)�logger�info�srcrr-r.rr/r0rrr%rr�install_environmentrr1�AssertionErrorrr&�writer'�dumpsr"�replacer�close)r2r3r�health_error�state_filenamer7�
state_files       r�
_hook_installrEAs���
�K�K�-�d�h�h�Z�q�9�:�
�K�K�A�B�
�K�K�0�1��T�]�]�#�D����+�+�+������������D�
�w�w�~�~�d���t��	�t�	$�� � ��K�K��.�.��0L�0L�	
��(�(����d�6K�6K�L��� �0�����@!�".��0��
�,�D�1��#�$�G�,��
�'�3�
�:����T�Z�Z��t�/K�/K�(L�M�N� �	�
�
�7�N�+��
��
%�t�,�2�2�4�-
%�	$�" �
��#
%�	$�s&�BG.� 8G"�AG.�"G+	�'G.�.G7c�&�t|d�|dd}}|D]}|j|��|d}|dtjk(r|d||d<|dtjk(rt|j�|d<|ds|d|d<t|j�o|dtjk7r*tjd|d	�d
|�d��td�|dr*tjd|d	�d
|�d��td�|S)Nr�r-r0�default_language_version�stages�default_stagesz
The hook `�idz6` specifies `language_version` but is using language `zW` which does not install an environment.  Perhaps you meant to use a specific language?rz=` specifies `additional_dependencies` but is using language `)
�dict�update�C�DEFAULTr�get_default_versionr.r9�error�exit)�root_config�
hook_dicts�ret�rest�dctr3s      r�_hookrXms@���Z��]�#�Z���^��C����
�
�3����z�?�D�
���!�)�)�+�"-�.H�"I�$�"O����
���!�)�)�+�"+�D�/�"E�"E�"G�����x�=�#�$4�5��H�
����&�&�.��!�"�a�i�i�/��L�L��S��Y�K�(#�#'�&�)@�A�
�
��G��(�)��L�L��S��Y�K�(*�*.��0@�A�
�
��G��Jrc�H�����d�fd��t���fd��dD��S)Nc���t|}|j�ttj��St�j|��Sr$)rr.rr�getcwd�
make_local)�
language_name�depsr-�stores   �r�_prefixz-_non_cloned_repository_hooks.<locals>._prefix�sB����]�+���#�#�+��"�)�)�+�&�&��%�*�*�4�0�1�1rc	3��K�|]6}tj�d�|d|d�t|�������8y�w)�repor-r�rSN)r
�createrX)�.0r2r`�repo_configrSs  ���r�	<genexpr>z/_non_cloned_repository_hooks.<locals>.<genexpr>�sM������)�D�	
�������D��$�d�+D�&E�F��$�K�0�	
�
)�s�<?�hooks)r]�strr^�
Sequence[str]�returnr��tuple)rfr_rSr`s```@r�_non_cloned_repository_hooksrn�s+���
2��� ��(�
��rc��������d�dc��tjj�j���tj
�}t
|�D�cic]}|d|��
}}�dD]4}|d|vs�tjd|d�d��d��td��6�dD�cgc]}t||d||�	���}}t����fd
�|D��Scc}wcc}w)Nrb�revrKrh�`z` is not present in repository z`.  Typo? Perhaps it is introduced in a newer version?  Often `pre-commit autoupdate` fixes this.rGrcc3��K�|];}tj�dt�j��|d��|����=y�w)rbrN)r
rdr�clone)rer2rbrfrpr_s  ����rrgz+_cloned_repository_hooks.<locals>.<genexpr>�sL�������D�	
�������5�;�;�t�S�$�/H�*I�J�K��	
�
�s�AA)rrrrsrN�
MANIFEST_FILErr9rQrRrXrm)	rfr_rS�
manifest_pathr2�by_id�	hook_dctsrbrps	``     @@r�_cloned_repository_hooksrx�s���
�F�#�[��%7�I�D�#��G�G�L�L����T�3�!7����I�M�*7�
�*F�G�*F�$�T�$�Z��
�*F�E�G��G�$����:�U�"��L�L��D��J�<�>�t�f�E<�=�
�

��G�%� ��(��(�D�	�e�D��J���;�?�(������
����
H��s�
C!�-C&c�X�|dtthvr
t|||�St|||�S)Nrb)rr	rnrx)rfr_rSs   r�_repository_hooksrz�s3��
�6��u�d�m�+�+�K���L�L�'��U�K�H�Hrc���d�fd�}|�sy|j�5|�D]
}t|��	ddd�y#1swYyxYw)Nc���t�}g}�D]G}|j|vrt|�s|j|�|j	|j��I|Sr$)�set�install_keyr4�append�add)�seenrUr2rhs   �r�_need_installedz*install_hook_envs.<locals>._need_installed�sS���>A�e�����D����t�+�O�D�4I��
�
�4� ��H�H�T�%�%�&���
r)rkz
list[Hook])�exclusive_lockrE)rhr_r�r2s`   r�install_hook_envsr��s@�������	�	�	�	�#�%�D��$��&�
 �	�	�s�A�Ac�6���t��fd��dD��S)Nc3�F�K�|]}t|���D]}|����y�wr$)rz)rerbr2rSr_s   ��rrgzall_hooks.<locals>.<genexpr>�s/������(�D�%�d�E�;�?�D�	
�?�	
�(�s�!�reposrl)rSr_s``r�	all_hooksr��s"�������(���r)rrirkri)r!rjrk�object)rrirkz
object | None)r2r
rk�bool)r2r
rk�None)rT�dict[str, Any]rSr�rkr�)rfr�r_r
rSr�rk�tuple[Hook, ...])rhzSequence[Hook]r_r
rkr�)rSr�r_r
rkr�)+�
__future__rr'�loggingr�collections.abcr�typingr�pre_commit.constants�	constantsrN�pre_commit.all_languagesr�pre_commit.clientlibrrr	�pre_commit.hookr
�pre_commit.lang_baser�pre_commit.prefixr�pre_commit.storer
�pre_commit.utilrr�	getLoggerr9rrr"r+r4rErXrnrxrzr�r�r rr�<module>r�s��"���	�$�� �.�.�&�%� �0�$�"�1�"�
��	�	�<�	(��3�3�8� ��&)5�X#�#�#�#�#��#�L�#����$���	�0�#����$���	�@I�#�I��I�$�I��	I� �$r
Back to Directory File Manager