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

�

i0i����ddlmZddlZddlZddlZddlZddlZddlZddl	Z	ddl
mZddl
mZddl
m
Z
ddl
mZddl
mZddlmZdd	lmZdd
lmZddlmZddlmZed
�Zed�Zdd�Zddd�Zdd�Zdd�ZGd�de�Z	d									dd�Z ejBd d��Z"dde�d�													d!d�Z#y)"�)�annotationsN)�Callable)�	Generator)�Iterable)�MutableMapping)�Sequence)�Any)�TypeVar)�
parse_shebang)�cmd_output_b)�cmd_output_p�TArg�TRetc��	ttjd��S#t$rYnwxYw	t	j
�S#t$rYywxYw)Nr�)�len�os�sched_getaffinity�AttributeError�multiprocessing�	cpu_count�NotImplementedError���?/opt/hc_python/lib/python3.12/site-packages/pre_commit/xargs.pyrrsW��
��2�'�'��*�+�+���
��
����(�(�*�*������s� �	,�,�A�	A�Ac���|�|nttdtj�}dt|�z}|j	�D]"\}}|t|�t|�zdzz
}�$|S)N�environb��)�getattrr�environr�items)�_envr!�size�k�vs     r�
_environ_sizer')s]���&�d�G�B�
�B�J�J�,O�G��s�7�|��D��
�
����1���A���Q���!�#�#�� ��Krc���tjdk(r;tjd�dz
t�z
}t	t|d�d�}|Stjdk(ryy)N�posix�
SC_ARG_MAXiii�ntix)r�name�sysconfr'�max�min)�maximums r�_get_platform_max_lengthr11sS��	�w�w�'���*�*�\�*�T�1�M�O�C���c�'�7�+�W�5����	���D���rc���dj|�}tjdk(rt|j	d��dzSt|j	tj
���S)N� �win32zutf-16ler)�join�sys�platformr�encode�getfilesystemencoding)�cmd�full_cmds  r�_command_lengthr<=sS���x�x��}�H��|�|�w���8�?�?�:�.�/�1�4�4��8�?�?�3�#<�#<�#>�?�@�@rc��eZdZy)�ArgumentTooLongErrorN)�__name__�
__module__�__qualname__rrrr>r>Hs��rr>c�P�|xs
t�}tdtjt	|�|z��}t|�}g}g}t
t|��}t|�dz}|r�|j�}t|�dz}	||	z|kr%t	|�|kr|j|�||	z
}nH|st|��|j|t|�z�g}t|�dz}|j|�|r��|j|t|�z�t|�S)N�r)r1r.�math�ceilr�tuple�list�reversedr<�pop�appendr>)
r:�varargs�target_concurrency�_max_length�max_args�ret�ret_cmd�total_length�arg�
arg_lengths
          r�	partitionrTLs���;�!9�!;�K��1�d�i�i��G��/A� A�B�C�H�
��*�C�
�C��G��8�G�$�%�G�"�C�(�1�,�L�
��k�k�m��$�S�)�A�-�
��z�)�[�8��G��x�'��N�N�3���J�&�L��&�s�+�+�
�J�J�s�U�7�^�+�,��G�*�C�0�1�4�L��N�N�3��#�&�J�J�s�U�7�^�#�$���:�rc#�K�|dk(r	t��ytjj|�5}|j��ddd�y#1swYyxYw�w)Nr)�map�
concurrent�futures�ThreadPoolExecutor)�maxsize�exs  r�_thread_mapperr\xs>�����!�|��	�
�
�
�
2�
2�7�
;�r��&�&�L�<�
;�
;�s�.A�A�	A�A�
AFr)�colorrLrMc����|rtnt�d}d}	tj|�}tjdk(rT|dj�jd�r2tjd�}	dt|	�z
td	�z
d
z
}t||||�}
				d��fd�}tt|
�|�}t|�5}
|
||
�}|D]$\}}}t|�t|�kDr|}||z
}�&	ddd�||fS#tj$r}|j�ddcYd}~Sd}~wwxYw#1swY||fSxYw)
z�A simplified implementation of xargs.

    color: Make a pty if on a platform that supports it
    target_concurrency: Target number of partitions to run concurrently
    rrNrr4)z.batz.cmdzcmd.exei z /c ic�6���|dtjd����S)NF)�check�stderr)�
subprocess�STDOUT)�run_cmd�cmd_fn�kwargss ��r�run_cmd_partitionz xargs.<locals>.run_cmd_partition�s'����
�E�*�*;�*;�
�?E�
�	
r)rd�tuple[str, ...]�returnztuple[int, bytes, bytes | None])r
rr�
normalize_cmd�ExecutableNotFoundError�	to_outputr6r7�lower�endswith�find_executablerrTr/r\�abs)r:rKr]rLrMrf�retcode�stdout�e�cmd_exe�
partitionsrg�threads�
thread_map�results�proc_retcode�proc_out�_res     `            @r�xargsr|�sT���#�\��F��G�
�F�!��)�)�#�.��
�L�L�G�#���F�L�L�N�#�#�$4�5� �/�/�	�:���S��\�)�C��K�7�$�>���3��);�[�I�J�
�$�
�	(�
��#�j�/�#5�6�G�	��	 �J��.�
�;��)0�%�L�(�A��<� �3�w�<�/�&���h��F�*1�
!��F�?���C�0�0�!��{�{�}�R�a� � ��!��2
!��F�?��s)�D�3D>�D;�D6�0D;�6D;�>E
)ri�int)N)r#zMutableMapping[str, str] | Nonerir})r:�strrir})
r:�
Sequence[str]rKrrLr}rMz
int | Noneriztuple[tuple[str, ...], ...])rZr}rizNGenerator[Callable[[Callable[[TArg], TRet], Iterable[TArg]], Iterable[TRet]],])r:rhrKrr]�boolrLr}rMr}rfr	riztuple[int, bytes])$�
__future__r�concurrent.futuresrW�
contextlibrDrrrbr6�collections.abcrrrrr�typingr	r
�
pre_commitr�pre_commit.utilrr
rrrr'r1r<�RuntimeErrorr>rT�contextmanagerr\r|rrr�<module>r�s��"�����	��
�$�%�$�*�$���$�(�(��v����v�����	�A�	�<�	�#'�	)�
�)��)� �)� �	)�
!�)�X�������"#�3�5�
5�
�5��5��	5�
 �5��
5��5��5r
Back to Directory File Manager