HEX
Server: LiteSpeed
System: Linux s787.bom1.mysecurecloudhost.com 4.18.0-477.13.1.lve.el8.x86_64 #1 SMP Thu Jun 1 16:40:47 EDT 2023 x86_64
User: mobilech (5348)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/relenv/__pycache__/fetch.cpython-310.pyc
o

;j�@s�dZddlmZddlZddlZddlmZddlmZddl	m
Z
mZmZm
Z
mZmZmZmZddlmZmZerDddlZdd	lmZddd�Ze
fddd�Zddd�ZdS)z
The ``relenv fetch`` command.
�)�annotationsN)�
TYPE_CHECKING�)�platform_module)�CHECK_HOSTS�DATA_DIR�__version__�
build_arch�	check_url�download_url�get_triplet�work_dir)�get_default_python_version�resolve_python_version)�Sequence�
subparsers�3argparse._SubParsersAction[argparse.ArgumentParser]�return�NonecCsTt�}|jddd�}|jtd�|jdt�|jtdd�t�}|jd|td	d
�dS)z�
    Setup the subparser for the ``fetch`` command.

    :param subparsers: The subparsers object returned from ``add_subparsers``
    :type subparsers: argparse._SubParsersAction
    �fetchzFetch relenv builds)�description)�funcz--archz0Architecture to download. [default: %(default)s])�default�choices�type�helpz--pythonz>The python version (e.g., 3.10, 3.14.4) [default: %(default)s])rrrN)	r�
add_parser�set_defaults�main�add_argumentr	ZARCHES�strr)r�modZ	subparserZdefault_version�r"�@/opt/saltstack/salt/lib/python3.10/site-packages/relenv/fetch.py�setup_parser s"	�
�r$�versionr �triplet�python�check_hosts�
Sequence[str]c
Cs�d|�d|�d|�d�}t|dd�sB|D]}d|�d|�d	|�d|�d�	}t|dd�r-nqtd
d�dd
�|D�����t�d�tdt�}tj|dd�t	||�dS)z+
    Fetch the specified python build.
    z7https://github.com/saltstack/relenv/releases/download/v�/�-z.tar.xz�)�timeoutzhttps://z/relenv/z/build/z-Unable to find file on any hosts: github.com � css�|]
}|�d�dVqdS)r*rN)�split)�.0�xr"r"r#�	<genexpr>Ls�zfetch.<locals>.<genexpr>r�buildT)�exist_okN)
r
�print�join�sys�exitr
r�os�makedirsr)r%r&r'r(�url�hostZbuilddirr"r"r#r<s	�

r�args�argparse.NamespacecCsTtj�dt�}t|jd�}t|j�}t}tj�dd�r!tjdg}t	||||�dS)z�
    The entrypoint into the ``relenv fetch`` command.

    :param args: The args passed to the command
    :type args: argparse.Namespace
    ZRELENV_FETCH_VERSION)�machineZRELENV_FETCH_HOST�N)
r9�environ�getrr�archrr'rr)r=r%r&r'r(r"r"r#rSs
r)rrrr)
r%r r&r r'r r(r)rr)r=r>rr)�__doc__�
__future__rr9r7�typingrr3r�commonrrrr	r
rrr
Z
pyversionsrr�argparse�collections.abcrr$rrr"r"r"r#�<module>s(

 �