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

�

i0i���ddlmZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZ
ddlZ
ddlZddlmZddlmZddlmZddlmZddlmZddlmZddlmZdd	lmZdd
lmZddlmZddl m!Z!dd
l"m#Z#ddl$m%Z%ddl$m&Z&dZ'ejPZ)ejTZ+dddddd�Z,ejZ�j]�Z/e,jae/e/�Z/Gd�de�Z1e	jdk(rdZ2d&d�Z3ndZ2d&d�Z3ejhd��d'd��Z5d(d �Z6ejhd)d!��Z7d)d"�Z8d*d#�Z9ejtd+d$��Z;								d,d%�Z<y)-�)�annotationsN)�	Generator)�Sequence)�ContextManager)�IO)�Protocol)�	lang_base)�
envcontext)�PatchesT)�Var)�
no_git_env)�Prefix)�
cmd_output)�rmtree�	golangenv�amd64�386�arm64�armv6l)�x86_64�i386�aarch64�armv8�armv7lc��eZdZdd�Zy)�
ExtractAllc��y�N�)�self�paths  �J/opt/hc_python/lib/python3.12/site-packages/pre_commit/languages/golang.py�
extractallzExtractAll.extractall/s��S�N)r!�str�return�None)�__name__�
__module__�__qualname__r#rr$r"rr.s��0r$r�win32�zipc�,�tj|�Sr)�zipfile�ZipFile��bios r"�
_open_archiver25s�����s�#�#r$ztar.gzc�.�tj|��S)N)�fileobj)�tarfile�openr0s r"r2r2:s���|�|�C�(�(r$�)�maxsizec�N�tjd�rytjS)N�go�system)r	�
exe_exists�C�DEFAULTrr$r"�get_default_versionr?>s�����D�!���y�y�r$c
��|dk(r=dtjj|d�tjt	d�fffSdtjj|d�fddtjj|d�tjtjj|dd�tjt	d�fffS)Nr;�PATH�bin�GOROOT�.go)�GOTOOLCHAIN�local)�osr!�join�pathsepr)�venv�versions  r"�
get_env_patchrLFs����(��
�b�g�g�l�l�4��/����S��[�I�J�
�	
�

�2�7�7�<�<��e�,�-� �������T�5�)�2�:�:������T�5�%�0�"�*�*�c�&�k��	
�	�	r$c��|tjk7r|Stjj	d�}tj|�ddjd�S)Nzhttps://go.dev/dl/?mode=jsonrrKr:)r=r>�urllib�request�urlopen�json�load�removeprefix)rK�resps  r"�_infer_go_versionrUXsK���!�)�)�����>�>�!�!�"@�A�D��9�9�T�?�1��i�(�5�5�d�;�;r$c��tj�j�}t|�}d|�d|�dt�dt
��S)Nzhttps://dl.google.com/go/go�.�-)�platformr;�lowerrU�_ARCH�_EXT)rK�os_names  r"�_get_urlr^`s@���o�o��%�%�'�G���(�G�
(��	��7�)�1�U�G�1�T�F�K�Kr$c���	tjjt|��}t	j
�5}t
j||�|jd�t|�5}|j|�ddd�ddd�t
jtjj|d�tjj|d��y#1swY�dxYw#1swY�hxYw#tjj $rL}|j"dk(r7t%dt'j(�j+��dt,�d��|��d}~wwxYw)Nrr:rDi�z?Could not find a version matching your system requirements (os=z; arch=�))rNrOrPr^�tempfile�
TemporaryFile�shutil�copyfileobj�seekr2r#�moverGr!rH�error�	HTTPError�code�
ValueErrorrYr;rZr[)rK�destrT�f�archive�es      r"�_install_gorofs��I��~�~�%�%�h�w�&7�8���
#�
#�
%�����t�Q�'�
�F�F�1�I��q�!�W��"�"�4�(�"�	&�	���B�G�G�L�L��t�,�b�g�g�l�l�4��.G�H�"�!��	&�
%���<�<�!�!���6�6�S�=������(�.�.�0�1����q�B���
�

���s;�(C>�3C2�1C&�C2�&C/	�+C2�2C;�>E'�AE"�"E'c#�K�tj|t|�}tt	||��5d��ddd�y#1swYyxYw�wr)r	�environment_dir�ENVIRONMENT_DIRr
rL)�prefixrK�envdirs   r"�in_envru{s7����
�
&�
&�v���
H�F�	�M�&�'�2�	3�
�
4�	3�	3�s�1A
�A�	A
�A
�A
c�<�tj|t|�}|dk7rt||�tj
dk(rt
dd|�dj�}n|}tttj|���}|jdd�|dk7r|d|d	<tjj|d
�|d<tjjtjj|d
d�tjd
f�|d
<tj |d|��|D]}tj |dd|f|���tjj|d�}tjj#|�rt%|�yy)Nr;�cygwin�cygpathz-wr7)�GOPATH�GOBINrFrErDrCrBrA)r:�installz./...)�envr:r{�pkg)r	rqrrro�sysrYr�stripr
�dictrG�environ�popr!rHrI�	setup_cmd�existsr)rsrK�additional_dependencies�env_dir�gopathr|�
dependency�pkgdirs        r"�install_environmentr��sH��
�'�'����I�G��(���G�W�%�
�|�|�x���I�t�W�5�a�8�>�>�@����
�T�"�*�*�V�4�
5�C��G�G�G�T���(��$��M�������W�e�4��H�
��j�j�o�o��G�G�L�L��%��/����F�1C�'
���F������ :��D�-�
����F�T�9�j�$A�s�K�.��W�W�\�\�'�5�
)�F�	�w�w�~�~�f���v��r$)r1z	IO[bytes]r&zContextManager[ExtractAll])r&r%)rJr%rKr%r&r)rKr%r&r%)rKr%rkr%r&r')rsrrKr%r&zGenerator[None])rsrrKr%r�z
Sequence[str]r&r')=�
__future__r�
contextlib�	functoolsrQ�os.pathrGrYrcr~r5ra�urllib.errorrN�urllib.requestr.�collections.abcrr�typingrrr�pre_commit.constants�	constantsr=�
pre_commitr	�pre_commit.envcontextr
rr�pre_commit.gitr
�pre_commit.prefixr�pre_commit.utilrrrr�basic_health_check�health_check�basic_run_hook�run_hook�
_ARCH_ALIASES�machinerZr[�getrr\r2�	lru_cacher?rLrUr^ro�contextmanagerrur�rr$r"�<module>r�su��"������
�
������%�$�!��� � �,�*�%�%�$�&�"����+�+���#�#�����
���
�	����� � �"�����%��'��1��1��<�<�7���D�$��D�)�����Q��� ���$���<��<�L�I�*�����������"/��
�	r$
Back to Directory File Manager