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

�

i0i�����ddlmZddlZddlZddlZddlZddlmZddlmZddl	m
Zddlm
Z
ddlmZddlmZddlmZdd	lmZdd
lmZddlmZddlmZdd
lmZddlmZddlmZdZe
j:Zej>d d��Z d!d�Z!d"d�Z"d#d�Z#				d$d�Z$d%d�Z%d&d�Z&ejNd��d%d��Z(d'd�Z)d$d�Z*ejVd(d��Z,d)d�Z-								d*d�Z.y)+�)�annotationsN)�	Generator)�Sequence)�	lang_base)�
envcontext)�PatchesT)�UNSET)�Var)�find_executable)�Prefix)�CalledProcessError)�
cmd_output)�cmd_output_b)�win_exe�py_envc�p�d}	t|dd|�dj�S#t$r	d|�d�cYSwxYw)Nz<import sys;print(".".join(str(p) for p in sys.version_info))z-S�-c�z <<error retrieving version from z>>)r�stripr
)�exe�progs  �J/opt/hc_python/lib/python3.12/site-packages/pre_commit/languages/python.py�
_version_inforsI��I�D�:��#�t�T�4�0��3�9�9�;�;���:�1�#��b�9�9�:�s�#�5�5c���i}t|d��5}|D]8}	|jd�\}}|j�||j�<�:	ddd�|S#t$rY�QwxYw#1swY|SxYw)N�UTF-8)�encoding�=)�open�splitr�
ValueError)�filename�ret�f�line�k�vs      r�_read_pyvenv_cfgr'$sw��
�C�	
�h��	)�Q��D�
+��z�z�#����1�"#�����A�G�G�I��
�
*��J��	�
��
��	
*��J�s-�A(�A�#A(�	A%�"A(�$A%�%A(�(A2c�p�tjdk(rdnd}tjj	||�S)z;On windows there's a different directory for the virtualenv�win32�Scripts�bin)�sys�platform�os�path�join)�venv�bin_parts  r�bin_dirr31s)���L�L�G�3�y��H�
�7�7�<�<��h�'�'�c	�h�ddtfd|fdt|�tjt	d�fffS)N)�PIP_DISABLE_PIP_VERSION_CHECK�1�
PYTHONHOME�VIRTUAL_ENV�PATH)r	r3r.�pathsepr
)r1s r�
get_env_patchr<7s:��.�	�u��	���	�'�$�-����S��[�9�:�	�r4c���|jd�rR|jd�}dd|��ddf}ttjd��}	t|d|i�d	j
�Sy#t$rYywxYw)
N�python�py�-rz!import sys; print(sys.executable)r)�PYTHONIOENCODING�envr)�
startswith�removeprefix�dictr.�environrrr
)�version�num�cmdrBs    r�_find_by_py_launcherrJ@s������(�#��"�"�8�,���q���Y��&I�J���2�:�:��8��	��s�,��,�Q�/�5�5�7�7���"�	���	�s�A%�%	A1�0A1c�r�tjjdk(rytjjS)N�cpythonr>)r,�implementation�name�r4r�_impl_exe_namerPNs+��
�����)�+���!�!�&�&�&r4c��dd�}tjtjj	tj�fD]}||�}|s�|cSy)Nc��tjj|j��\}}|j	d�\}}}|dvr
t|�r|Sy)Nz.exe>r>�pythonw)r.r/r�lower�	partitionr)r/�_rs   r�_normz&_find_by_sys_executable.<locals>._normVsJ�������t�z�z�|�,���3��M�M�&�)�	��Q���+�+���0D��J�r4)r/�str�return�
str | None)r,�
executabler.r/�realpath)rWr/rs   r�_find_by_sys_executabler]UsF���������!1�!1�#�.�.�!A�B���D�k����J�C�r4r)�maxsizec�N�tjd�}tjd�dtjd��}||fD]}t��|��}t|�s�|cSt	�}|r|Stj
dk(rd|��}t
|�r|StjS)Nr�.rr)r>)	r,�version_inforPrr]r-rJ�C�DEFAULT)�v_major�v_minor�	potentialr�	maybe_exes     r�get_default_versionrhls����!�!�!�$�%�G��!�!�!�$�%�Q�s�'7�'7��':�&;�<�G��w�'�	��!�"�9�+�.���3���J�(�(�)�I�����|�|�w���w�i� ����$��J�
�9�9�r4c���|dk(ry|jd�sy	td�|jd�jd�D��}t
jdt|�|k(S#t$rYywxYw)Nr>TFc3�2K�|]}t|����y�w�N)�int)�.0�ps  r�	<genexpr>z*_sys_executable_matches.<locals>.<genexpr>�s����O�%N��S��V�%N�s�r`)rC�tuplerDrr r,ra�len)rG�infos  r�_sys_executable_matchesrs�s{���(���
�
�
��
)����O�W�%9�%9�(�%C�%I�%I�#�%N�O�O�����J�S��Y�'�4�/�/������s�0A)�)	A5�4A5c���|tjk(ryt|�rytjdk(r#t|�}|r|St
|�}|r||k7r|Stjj|�S)Nr))
rbrcrsr,r-rJrr.r/�
expanduser)rG�version_execs  r�norm_versionrw�sn���!�)�)���	 ��	)��
�|�|�w��+�G�4�����'�w�/���L�G�3����7�7���g�&�&r4c#�K�tj|t|�}tt	|��5d��ddd�y#1swYyxYw�wrk)r�environment_dir�ENVIRONMENT_DIRrr<)�prefixrG�envdirs   r�in_envr}�s5����
�
&�
&�v���
H�F�	�M�&�)�	*�
�
+�	*�	*�s�0A�A�	A�A	�Ac���tj|t|�}tjj|d�}tjj
|�sytd�}|j	t|�|�}t|�}d|vrytj|�}||dk7rd|�d|d�d�Sd	|vryt|d	�}||dk7rd
|�d|d�d�Sy)Nz
pyvenv.cfgz+pyvenv.cfg does not exist (old virtualenv?)r>raz9created virtualenv's pyvenv.cfg is missing `version_info`zKvirtualenv python version did not match created version:
- actual version: z
- expected version: �
zbase-executablezZbase executable python version does not match created version:
- base-executable version: )rryrzr.r/r0�existsrr3r'r�__wrapped__)	r{rGr|�
pyvenv_cfg�exe_name�py_exe�cfg�virtualenv_version�base_exe_versions	         r�health_checkr��s��
�
&�
&�v���
H�F������f�l�3�J��7�7�>�>�*�%�<��x� �H�
�[�[����(�
3�F�
�:�
&�C��S� �J�'�2�2�6�:���S��0�0�!�!3� 4�5#�#&�~�#6�"7�r�
;�	
���#��$�S�):�%;�<���3�~�.�.�*�*:�);�<#�#&�~�#6�"7�r�
;�	
�r4c�6�tj|t|�}tjd|g}t|�}|�|j
d|f�ddddg|��}t|ddi�t||�5tj||�ddd�y#1swYyxYw)	Nz-mvirtualenvz-pr>z-mpip�installr`�cwd�/)
rryrzr,r[rw�extendrr}�	setup_cmd)r{rG�additional_dependenciesr|�venv_cmdr>�install_cmds       r�install_environmentr��s���
�
&�
&�v���
H�F������7�H�
�'�
"�F�
������v��'��W�i��O�7N�O�K��(�$��$�	���	 ����F�K�0�
!�	 �	 �s�/B�B)rrXrYrX)r!rXrYzdict[str, str])r1rXrYrX)r1rXrYr)rGrXrYrZ)rYrX)rYrZ)rGrXrY�bool)r{rrGrXrYzGenerator[None])r{rrGrXrYrZ)r{rrGrXr�z
Sequence[str]rY�None)/�
__future__r�
contextlib�	functoolsr.r,�collections.abcrr�pre_commit.constants�	constantsrb�
pre_commitr�pre_commit.envcontextrrr	r
�pre_commit.parse_shebangr�pre_commit.prefixr�pre_commit.utilr
rrrrz�basic_run_hook�run_hook�cacherr'r3r<rJrPr]�	lru_cacherhrsrw�contextmanagerr}r�r�rOr4r�<module>r�s��"���	�
�%�$� � �,�*�'�%�4�$�.�&�(�#����#�#�����:��:�
�(�������'��.����Q��� ��20�'�(������$�N1��1��1�"/�1�
�	1r4
Back to Directory File Manager