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

�

i0iS7��b�ddlmZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlmZddlm
Z
ddlmZddlmZddlmZddlmZdd	lmZdd
lmZddlmZddlmZdd
lmZddlmZddlmZddlm Z ddl!m"Z"ddl#m$Z$ddl%m&Z&ejNd�Z(d)d�Z)d*d�Z*dd�													d+d�Z+								d,d�Z,Gd�d�Z-d-d�Z.dZ/dZ0d.d �Z1																d/d!�Z2d0d"�Z3d1d#�Z4d2d$�Z5										d3d%�Z6d4d&�Z7d5d'�Z8ejrf									d6d(�Z:y)7�)�annotationsN)�	Generator)�Iterable)�MutableMapping)�Sequence)�Any��tags_from_path)�color)�git)�output)�	languages)�load_config)�Hook)�	all_hooks)�install_hook_envs)�staged_files_only)�Store��cmd_output_b�
pre_commitc�>��ddddddd��t�fd�|D��S)N��)�A�F�H�N�Na�Wc3�N�K�|]}�tj|����y�w�N)�unicodedata�east_asian_width)�.0�c�widthss  ��F/opt/hc_python/lib/python3.12/site-packages/pre_commit/commands/run.py�	<genexpr>z_len_cjk.<locals>.<genexpr>&s"�����D��1�v�k�2�2�1�5�6��s�"%)�sum)�msgr's @r(�_len_cjkr,$s&����1�1�1�A�A�
>�F��D��D�D�D�c�<�d|t|�z
|z
dz
z}|�|��S)N�.r)r,)�start�cols�end_len�dotss    r(�
_start_msgr4)s.���$��%��(�7�2�Q�6�7�D��W�T�F��r-�)�postfixc��d|t|�z
t|�z
t|�z
dz
z}tj|||�}|�|�|�|�d�S)Nr/r�
)r,�lenr�format_color)r0r1�end_msg�	end_color�	use_colorr6r3�ends        r(�	_full_msgr?.s[���$��%��(�3�w�<�7�#�g�,�F��J�K�D�
�
�
�W�i��
;�C��W�T�F�7�)�C�5��+�+r-c�t���tj|�tj|�c����fd�|D�S)Nc3�f�K�|](}�j|�r�j|�s|���*y�wr")�search)r%�filename�
exclude_re�
include_res  ��r(r)z,filter_by_include_exclude.<locals>.<genexpr>Bs4������!&�X����X�&�� � ��*�	��s�.1)�re�compile)�names�include�excluderDrEs   @@r(�filter_by_include_excluderK<s5���
 �Z�Z��0�"�*�*�W�2E��J�
��!&��r-c��eZdZdd�Zej
dd��Z										d	d�Zd
d�Ze									dd��Z
y)�
Classifierc�x�|D�cgc]$}tjj|�s�#|��&c}|_ycc}wr")�os�path�lexists�	filenames)�selfrR�fs   r(�__init__zClassifier.__init__Js*��%.�E�Y��"�'�'�/�/�!�2D�!�Y�E����Es�$7�7c��t|�Sr"r	)rSrCs  r(�_types_for_filezClassifier._types_for_fileMs
���h�'�'r-c#�K�t|�}t|�}t|�}|D]+}|j|�}||k\s�|r||zs�"||zr�(|���-y�wr")�	frozensetrW)rSrH�types�types_or�
exclude_typesrC�tagss       r(�by_typeszClassifier.by_typesQs]�����%� ���X�&��!�-�0�
��H��'�'��1�D��E�M�!�T�H�_��}�,����s�=A�A�A�Ac��|jt|j|j|j�|j
|j|j�Sr")r^rKrR�filesrJrZr[r\)rS�hooks  r(�filenames_for_hookzClassifier.filenames_for_hookdsI���}�}�%�����
�
����
�

�J�J��M�M����	
�		
r-c��tjdk(rtjdk(r	d�|D�}t|||�}t	|�S)N�/�\c3�xK�|]2}|jtjtj����4y�wr")�replacerO�sep�altsep)r%rTs  r(r)z)Classifier.from_config.<locals>.<genexpr>|s$����I�y�!����2�6�6�2�9�9�5�y�s�8:)rOrirhrKrM)�clsrRrIrJs    r(�from_configzClassifier.from_configps=���9�9������$��I�y�I�I�-�i��'�J�	��)�$�$r-N)rR�
Iterable[str]�return�None)rC�strrm�set[str])
rHrlrZrlr[rlr\rlrm�Generator[str])rarrmrq)rRrlrIrorJrormrM)�__name__�
__module__�__qualname__rU�	functools�cacherWr^rb�classmethodrk�r-r(rMrMIs���F��_�_�(��(�� ��!��$�	�
)��
�
�&

��
%�$�
%��
%��	
%�

�
%��
%r-rMc��|jdd�}|jd�D�chc]#}|j�s�|j���%c}Scc}w)N�SKIPr5�,)�get�split�strip)�environ�skips�skips   r(�
_get_skipsr��sC���K�K���#�E�%*�[�[��%5�F�%5�T�����D�J�J�L�%5�F�F��Fs
�A�A�Skippedz(no files to check)c�t�tjtj|tj|��yr")r
�
write_linerr:�SUBTLE)�sr=s  r(�_subtle_liner��s#��
���e�(�(��E�L�L�)�D�Er-c
�j�t|j|��}|j|vs|j|vrKt	j
t
|jttj||���d}d}	|}
d}d}�n�|s\|jsPt	j
t
|jtttj||���d}d}	|}
d}d}�nft	j
t|jd|���|jsd}t!j"�}
t$|j&}|j)|j*|j,�5|j/|j*|j0|j2||j4d	k(|j6|�
�\}	}ddd�t9t!j"�|
z
d�xsd}t;�}
||
k7}	s|rtj<}d}ntj>}d
}t	j@tjB|||��|s|jDs|	s|r�tGd|j��|�|s|jDr|�tGd|�d�|�|	rtGd|	��|�|rtGd|�jI�rWt	j@�t	jJ|jI�|jL��t	j@�|xstO|	�|
fS#1swY��sxYw)N)r0r;r<r=r1rFr-)r0r6r;r<r=r1�)r0r2r1rx�local)�is_local�require_serialrr�Failed�Passedz- hook id: z- duration: r�z
- exit code: z"- files were modified by this hook)�logfile_name)(�tuplerb�id�aliasr
�writer?�name�SKIPPEDr�YELLOW�
always_run�NO_FILES�	TURQUOISEr4�pass_filenames�time�	monotonicr�language�in_env�prefix�language_version�run_hook�entry�args�srcr��round�	_get_diff�RED�GREENr�r:�verboser�r~�write_line_b�log_file�bool)�
classifierrar�r1�diff_beforer�r=rR�duration�retcode�
diff_after�files_modified�out�time_beforer��print_color�statuss                 r(�_run_single_hookr��s����j�3�3�D�9�:�I��w�w�%��4�:�:��.������i�i���,�,�#��
�	
����� �
�����
�t��������i�i� ���/�/�#��

�		
����� �
�����	���Z�d�i�i���F�G��"�"��I��n�n�&���T�]�]�+��
�_�_�T�[�[�$�*?�*?�
@�#�,�,�����
�
��	�	�����W�,�#�2�2��-��L�G�S�A�����)�K�7��;�@�q���[�
�%�
�2���n��)�)�K��F��+�+�K��F����%�,�,�V�[�)�L�M��$�,�,�'�^��{�4�7�7�)�,�i�8��t�|�|��)=��<��z��3�Y�?���=��	�2�I�>���=�y�I��9�9�;���������	�	��$�-�-�H������*�T�'�]�J�6�6�WA�
@�s
�&AL(�(L2c��|rtd�|D��}nd}|dztt�zdztt�z}t|d�S)z�Compute the number of columns to display hook messages.  The widest
    that will be displayed is in the no files skipped case:

        Hook name...(no files to check) Skipped
    c3�FK�|]}t|j����y�wr")r,r�)r%ras  r(r)z _compute_cols.<locals>.<genexpr>�s����=�u�t�x��	�	�*�u�s�!r�r�P)�maxr9r�r�)�hooks�name_lenr1s   r(�
_compute_colsr��sH��
��=�u�=�=�����a�<�#�h�-�'�!�+�c�'�l�:�D��t�R�=�r-c���|jdvry|jdvr
|jfS|jr6|jr*t	j
|j|j�S|jr|jS|jrt	j�St	j�rt	j�St	j�S)N>�
post-merge�
pre-rebase�post-commit�post-rewrite�
post-checkoutrx��
commit-msg�prepare-commit-msg)�
hook_stage�commit_msg_filename�from_ref�to_refr�get_changed_filesr`�	all_files�
get_all_files�is_in_merge_conflict�get_conflicted_files�get_staged_files)r�s r(�_all_filenamesr��s���������	
���@�	@��(�(�*�*�	
���4�;�;��$�$�T�]�]�D�K�K�@�@�	
����z�z��	
���� � �"�"�	�	!�	!�	#��'�'�)�)��#�#�%�%r-c�0�tdddddd��\}}}|S)Nr�diff�
--no-ext-diffz
--no-textconvz--ignore-submodulesF��checkr)�_r�s  r(r�r�s(���
�v���9N���I�A�s�A��Jr-c
� �t|�}tjt|�|d|d�}d}t	�}|D]X}t||||||j|j��\}	}||	z}|dxs|jxs|j}
|	s�U|
s�Xn|rq|jre|rc|jrtjd�tjd�|jrdnd	}tjd
ddd
d|��f�|S)zActually run the hooks.r`rJr)r�r=�	fail_fastz�pre-commit hook(s) made changes.
If you are seeing this message in CI, reproduce locally with: `pre-commit run --all-files`.
To run `pre-commit` as part of git workflow, use `pre-commit install`.zAll changes made by hooks:�always�neverrz
--no-pagerr�r�z--color=)r�rMrkr�r�r�r�rr��show_diff_on_failurer�r
r��
subprocess�call)�configr�r�r�r1r��retval�
prior_diffra�current_retvalr��
git_color_opts            r(�
_run_hooksr�s�����D��'�'��t��f�W�o�v�i�/@��J��F���J���%5���e�T�:��L�L�D�J�J�&
�"��
�	�.� ���K�(�L�D�N�N�L�d�n�n�	��i����$�+�+�
��>�>����(�
�	���6�7�%)�J�J��G�
�����<����}�o�&�
�	�
�Mr-c�V�tddd�\}}}t|j��S)Nrzls-filesz
--unmerged)rr�r~)r��stdouts  r(�_has_unmerged_pathsr�Es'����z�<�@�L�A�v�q�������r-c�6�tdddd|d��\}}}|dk(S)Nrr�z--quietr�Fr�rr)�config_filer�r�s   r(�_has_unstaged_configr�Js+�� �
�v�y�/�;�e��M�G�Q���a�<�r-c��|jxr
|j}|r t�rtj	d�yt|j�t|j�k7rtj	d�y|r%t|�rtj	d|�d��y|jdvr0|js$tj	d|j�d��y|jd	k(r|jd
�ry|jr|j|d<|jr|j|d
<|jrH|jr<|j|d<|j|d<|j|d<|j|d<|jr*|jr|j|d<|j|d<|j r`|j"rT|j$rH|j&r<|j&|d<|j$|d<|j |d<|j"|d<|j(r|j(|d<|j*r|j*|d<|j,r|j,|d<d|d<t/j0�5}|r$|j3t5|j6��t9|�}t;||�D�cgc]Z}|j<r2|j>|j<k(s|j@|j<k(r|j|jBvr|��\}}|j<r<|s:tEjFd|j<�d|j�d��	ddd�ytI|�}	|D�cgc] }|j>|	vr|j@|	vr|��"}
}tK|
|�tM|||	|�cddd�Scc}wcc}w#1swYtOd��xYw) Nz+Unmerged files.  Resolve before committing.rz%Specify both --from-ref and --to-ref.z4Your pre-commit configuration is unstaged.
`git add z` to fix this.r�z6`--commit-msg-filename` is required for `--hook-stage �`r��_PRE_COMMIT_SKIP_POST_CHECKOUTr�PRE_COMMIT_COMMIT_MSG_SOURCE�PRE_COMMIT_COMMIT_OBJECT_NAME�PRE_COMMIT_ORIGIN�PRE_COMMIT_SOURCE�PRE_COMMIT_FROM_REF�PRE_COMMIT_TO_REF�PRE_COMMIT_PRE_REBASE_UPSTREAM�PRE_COMMIT_PRE_REBASE_BRANCH�PRE_COMMIT_LOCAL_BRANCH�PRE_COMMIT_REMOTE_BRANCH�PRE_COMMIT_REMOTE_NAME�PRE_COMMIT_REMOTE_URL�PRE_COMMIT_CHECKOUT_TYPE�PRE_COMMIT_IS_SQUASH_MERGE�PRE_COMMIT_REWRITE_COMMAND�1�
PRE_COMMITzNo hook with id `z` in stage `�unreachable)(r�r`r��logger�errorr�r�r�r�r�r�r|�prepare_commit_message_source�commit_object_name�pre_rebase_upstream�pre_rebase_branch�remote_name�
remote_url�
remote_branch�local_branch�
checkout_type�is_squash_merge�rewrite_command�
contextlib�	ExitStack�
enter_contextr�	directoryrrrar�r��stagesr
r�r�rr��AssertionError)r��storer�r�stash�
exit_stackr�rar�r��
to_installs           r(�runrRs�������1�t�z�z�>�E�
�$�&����B�C���D�M�M��d�4�;�;�/�/����<�=���%�k�2�����#�}�N�
4�	
���O�O�C�C��(�(�����!�_�_�-�Q�
0�	
��
�O�O��.��K�K�8�9���)�)��.�.�	�.�/����37�3J�3J��/�0��}�}����'+�}�}��#�$�'+�{�{��#�$�)-����%�&�'+�{�{��#�$����D�$:�$:�48�4L�4L��0�1�26�2H�2H��.�/�	
���T�_�_����t�0�0�-1�->�->��)�*�.2�.@�.@��*�+�,0�,<�,<��(�)�+/�?�?��'�(����.2�.@�.@��*�+����04�0D�0D��,�-����04�0D�0D��,�-� �G�L��	�	�	�	�:���$�$�%6�u���%G�H��[�)��"�&�%�0�
�0���9�9����4�9�9� 4��
�
�d�i�i�8O����$�+�+�-�
�0�	�
��9�9�U����#�D�I�I�;�l�4�?�?�:K�1�M�
��!
 �	�$�7�#���
����w�w�e�#��
�
�%�(?�
��	�
�
	�*�e�,��&�%���5�5
 �	��

��
�'
 �:��
'�'�s3�AO(�AO�;AO(�O(�%O#�9O(�
O(�(O;)r+rorm�int)r0ror1rr2rrmro)r0ror1rr;ror<ror=r�r6rormro)rHrlrIrorJrormrq)r�MutableMapping[str, str]rmrp)r�ror=r�rmrn)r�rMrarr�rpr1rr��bytesr�r�r=r�rmztuple[bool, bytes])r��Sequence[Hook]rmr)r��argparse.Namespacermrl)rmr)
r�zdict[str, Any]r�rr�rpr�rrmr)rmr�)r�rormr�)
r�rorrr�rrrrmr);�
__future__r�argparserru�loggingrOrFr�r�r#�collections.abcrrrr�typingr�identify.identifyr
rrrr
�pre_commit.all_languagesr�pre_commit.clientlibr�pre_commit.hookr�pre_commit.repositoryrr�pre_commit.staged_files_onlyr�pre_commit.storer�pre_commit.utilr�	getLoggerrr,r4r?rKrMr�r�r�r�r�r�r�r�r�r�r�rrrxr-r(�<module>r.s���"�����	�	����%�$�*�$��,����.�,� �+�3�:�"�(�
��	�	�<�	(��E�
��,��,��,��	,�
�,��
,��,�	�,�
��
��
��
��	
�5%�5%�pG�
�� ��F�]7��]7��]7��]7��	]7�
�]7��
]7��]7��]7�@�&�*�(��(��(��(�!�	(�
	�(�V �
�-/�J�J�	n(��n(��n(�!�n(�*�	n(�
	�n(r-
Back to Directory File Manager