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

�

i0i�����ddlmZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlm
Z
ddlmZddlmZddlmZddlmZdd�Zej,d d	��Zd!d
�Zd"d�ZGd�d
e�Zd#d�Zd$d�Zdd�							d%d�Zd&d�Zej@dk7r#ddlm!Z!ddl"Z"Gd�d�Z#dd�							d%d�Z$neZ$								d'd�Z%ejLdkr								d(d�Z'd)d�Z(nd)d�Z(d*d�Z)y)+�)�annotationsN)�Callable)�	Generator)�
TracebackType)�Any)�
parse_shebangc�T�tjt�5t|�cddd�S#1swYnxYwtjt�5t|�j
�cddd�S#1swYnxYwdt|�j�d�j
�S)Nz
<unprintable z object>)	�
contextlib�suppress�	TypeError�bytes�	Exception�str�encode�type�__name__)�excs �>/opt/hc_python/lib/python3.12/site-packages/pre_commit/util.py�force_bytesrsn��	�	�	�Y�	'��S�z�
(�	'�	'��	�	�	�Y�	'��3�x��� �
(�	'�	'��
�4��9�-�-�.�h�7�>�>�@�@s�/�8�A7�7Bc#�K�	d��y#t$r,tjj|�rt	|��wxYw�w)z2Cleans up the directory on an exceptional failure.N)�
BaseException�os�path�exists�rmtree�rs r�clean_path_on_failurers6�����
����
�7�7�>�>�$���4�L�
��s�A�	�A�5>�Ac�~�tjjd�}|j|�j	�S)Nzpre_commit.resources)�	importlib�	resources�files�joinpath�	read_text)�filenamer!s  r�
resource_textr%&s1�����%�%�&<�=�E��>�>�(�#�-�-�/�/�c���tj|�j}|tjztjztj
z}tj||�y�N)r�stat�st_mode�S_IXUSR�S_IXGRP�S_IXOTH�chmod)r$�
original_mode�new_modes   r�make_executabler1+sD���G�G�H�%�-�-�M��t�|�|�+�d�l�l�:�T�\�\�I�H��H�H�X�x� r&c�D��eZdZ										d�fd�Zdd�Zdd�Z�xZS)�CalledProcessErrorc�b��t�|�||||�||_||_||_||_yr()�super�__init__�
returncode�cmd�stdout�stderr)�selfr7r8r9r:�	__class__s     �rr6zCalledProcessError.__init__2s4���	����S�&�&�9�$�����������r&c���d	d�}djd|j�d�j�d|j�d�j�d||j�dd||j
�f�S)
Nc�N�|r#d|jdd�j�zSy)Ns
    �
s (none))�replace�rstrip)�parts r�_indent_or_nonez5CalledProcessError.__bytes__.<locals>._indent_or_none@s'��� �4�<�<��y�#A�#H�#H�#J�J�J�!r&r&z	command: �
z
return code: sstdout:r?sstderr:)rB�bytes | None�returnr
)�joinr8rr7r9r:)r;rCs  r�	__bytes__zCalledProcessError.__bytes__?sp��	"��x�x�����|�2�&�-�-�/��D�O�O�,�B�/�6�6�8������4�e������4�	
��	r&c�>�|j�j�Sr()rH�decode�r;s r�__str__zCalledProcessError.__str__Ms���~�~��&�&�(�(r&)
r7�intr8ztuple[str, ...]r9r
r:rErF�None)rFr
)rFr)r�
__module__�__qualname__r6rHrL�
__classcell__)r<s@rr3r31sB������!���	�
!��
�
��)r&r3c�R�dD]"}|j|tj��$y)N��stdinr9r:)�
setdefault�
subprocess�PIPE)�kwargs�args  r�_setdefault_kwargsrZQs ��,�����#�z���/�-r&c�B�dt|�jd�dzdfS)N�r?)rrA)�es r�_oserror_to_outputr^Vs#���k�!�n�#�#�E�*�U�2�D�8�8r&T)�checkc��t|�	tj||jd���}	t	j
|fi|��}|j
�\}}|j}|r|rt||||��|||fS#t$r}t|�\}}}Yd}~�4d}~wwxYw#tj$r}|j�\}}}Yd}~�hd}~wwxYw)N�env)ra)
rZr�
normalize_cmd�getrV�Popen�communicater7�OSErrorr^�ExecutableNotFoundError�	to_outputr3)r_r8rX�proc�stdout_b�stderr_br7r]s        r�cmd_output_brlZs���
�v��)��)�)�#�6�:�:�e�3D�E��	)��#�#�C�2�6�2�D�"&�!1�!1�!3��H�h����J��� ��S�(�H�E�E��x��)�)���	C�-?��-B�*�J��(��	C���0�0�7�)*����&�
�H�h��7�s.�&B%�B�	B"�	B�B"�%C�8C�Cc�z�t|i|��\}}}|�|j�nd}|�|j�nd}|||fSr()rlrJ)r8rXr7rjrkr9r:s       r�
cmd_outputrntsK��%1�3�%A�&�%A�"�J��(�"*�"6�X�_�_�
�D�F�"*�"6�X�_�_�
�D�F��v�v�%�%r&�win32)�openptyc�D�eZdZdd�Zdd�Zdd�Zdd�Z								d	d�Zy)
�Ptyc� �d|_d|_yr()�r�wrKs rr6zPty.__init__�s��!%�D�F�!%�D�Fr&c�T�t�\|_|_tj|j�}t|dt�sJ�|dxxtjtjzzcc<tj|jtj|�|S�Nr\)rprtru�termios�	tcgetattr�
isinstancerM�ONLCR�OPOST�	tcsetattr�TCSANOW)r;�attrss  r�	__enter__z
Pty.__enter__�sx��$�Y�N�D�F�D�F��%�%�d�f�f�-�E��e�A�h��,�,�,��!�H�'�-�-�'�-�-�7�8�8�H����d�f�f�g�o�o�u�=��Kr&c�j�|j�'tj|j�d|_yyr()rur�closerKs r�close_wzPty.close_w�s(���v�v�!������� ����"r&c�l�|j�J�tj|j�d|_yr()rtrr�rKs r�close_rzPty.close_r�s)���6�6�%�%�%��H�H�T�V�V���D�Fr&c�D�|j�|j�yr()r�r�)r;�exc_type�	exc_value�	tracebacks    r�__exit__zPty.__exit__�s��
�L�L�N��L�L�Nr&N)rFrN)rFrr)r�ztype[BaseException] | Noner�zBaseException | Noner�zTracebackType | NonerFrN)rrOrPr6r�r�r�r��r&rrrrrsA��	&�		�	�
	�
	�4�	�0�	�0�		�
�	r&rrc��|dusJ�|dtjk(s
J|d��t|�	tj|�}ttj�5}t�5}|j�J�|j||j|jd��	tj|fi|��}|j#�d}		tj$|jd�}||z
}|sn�*	ddd�ddd�j+�dfS#tj
$r}|j
�cYd}~Sd}~wwxYw#t$r'}t!|�cYd}~cddd�cddd�Sd}~wwxYw#t$r+}|j&t&j(k(rd}n�Yd}~��d}~wwxYw#1swY��xYw#1swY��xYw)NFr:rSr&i)rV�STDOUTrZrrbrgrh�openr�devnullrrrt�updaterurdrfr^r��read�errno�EIO�wait)	r_r8rXr]r��ptyri�buf�btss	         r�cmd_output_pr��s���
��~��~��h��:�#4�#4�4�F�f�X�6F�F�4��6�"�	!��-�-�c�2�C��"�*�*�
��#�%�3��5�5�$�$�$��M�M�G�s�u�u����N�O�
-�!�'�'��6�v�6��
�K�K�M��C����'�'�#�%�%��.�C��3�J�C�����-+0�
�0�y�y�{�C��%�%��7�4�4�	!��;�;�=� ��	!���
-�)�!�,�,�
+0�%�
�
��

-�����w�w�%�)�)�+�!�������+0�%��
�
�s��D�!G�,8F6�%E�;F6� E?�/	F6�9G�E	�/E�>E	�E	�	E<�
E7�E<� F6�$	G�7E<�<F6�?	F3�!F.�)F6�.F3�3F6�6F?	�;G�Gc���|tjtjtjfvr�t	|t
�r�|jtjtjhvrs|tjj|�fD]F}tj|tj|�jtjz��H||�y�r()r�rmdir�remove�unlinkrzrfr��EACCES�EPERMr�dirnamer.r)r*�S_IWUSR)�funcrr�ps    r�_handle_readonlyr��s���
�R�X�X�r�y�y�"�)�)�4�4��s�G�$��I�I�%�,�,����4�4��������-�.�A��H�H�Q�����
�*�*�T�\�\�9�:�/��T�
�
r&)��c�"�t|||d�Srw)r�)r�r�excinfos   r�_handle_readonly_oldr��s��
 ��d�G�A�J�7�7r&c�<�tj|dt��y)NF)�
ignore_errors�onerror)�shutilrr�rs rrr�s���
�
�d�%�9M�Nr&c�<�tj|dt��y)z+On windows, rmtree fails for readonly dirs.F)r��onexcN)r�rr�rs rrr�s���
�
�d�%�7G�Hr&c�6�tjdk7r|S|�d�S)Nroz.exe)�sys�platform)�ss r�win_exer��s������'�1�7��s�$�Z�7r&)rrrFr
)rrrFzGenerator[None])r$rrFr)r$rrFrN)rXzdict[str, Any]rFrN)r]rfrFztuple[int, bytes, None])r8rr_�boolrXrrFztuple[int, bytes, bytes | None])r8rrXrrFztuple[int, str, str | None])r��Callable[[str], object]rrrrrFrN)r�r�rrr�z8tuple[type[BaseException], BaseException, TracebackType]rFrN)rrrFrN)r�rrFr)*�
__future__rr
r��importlib.resourcesr�os.pathrr�r)rVr��collections.abcrr�typesr�typingr�
pre_commitrr�contextmanagerrr%r1�RuntimeErrorr3rZr^rlrnr�rprxrrr�r��version_infor�rr�r�r&r�<module>r�sl��"�����
���
�$�%���$�A�������0�
!�)��)�@0�
9��*��*��*��*�%�	*�4&��<�<�7����!�!�J�&&��&&��&&��&&�
)�	&&�P �L��%������
�	�"���g��8�%�8��8�J�8�
�	8�O�I�
8r&
Back to Directory File Manager