HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: //lib/python3.6/site-packages/awscli/customizations/gamelift/__pycache__/uploadbuild.cpython-36.pyc
3

�T_��@s�ddlZddlZddlZddlZddlZddlZddlmZddlm	Z	ddl
mZGdd�de	�Zdd�Z
d	d
�ZGdd�de�ZdS)
�N)�
S3Transfer)�BasicCommand)�human_readable_sizec@sHeZdZdZdZdddd�dddd�d	dd
d�ddd
d�gZdd�ZdS)�UploadBuildCommandzupload-buildz#Upload a new build to AWS GameLift.�nameTzThe name of the build)rZrequiredZ	help_textz
build-versionzThe version of the buildz
build-rootz8The path to the directory containing the build to uploadzoperating-systemFz&The operating system the build runs oncCsP|jjd|j|j|jd�}t|j�s:tjj	d|j�dS|j
|jd�}|jrX|j|d<|j
f|�}|dd}|j|d	�}|d
}|dd}|dd
}	|d}
|d}|d}|jjd|
|||j|jd�}
t|
�}zFtjd|�\}}t||j�|j|||	t|d|jdd�d�Wdtj|�tj|�Xtjj	d|j|f�dS)NZgamelift)�region_name�endpoint_url�verifyzHFail to upload %s. The build root directory is empty or does not exist.
�)�NameZVersionZOperatingSystemZBuild�BuildId)rZUploadCredentialsZStorageLocationZBucketZKeyZAccessKeyIdZSecretAccessKeyZSessionTokenZs3)Zaws_access_key_idZaws_secret_access_keyZaws_session_tokenrr	z%s.zipz
Uploading �:)�label)�callbackz6Successfully uploaded %s to AWS GameLift
Build ID: %s
r)Z_sessionZ
create_clientZregionrZ
verify_ssl�validate_directory�
build_root�sys�stderr�writerZ
build_versionZoperating_systemZcreate_buildZrequest_upload_credentialsr�tempfileZmkstemp�
zip_directoryZupload_file�ProgressPercentage�os�close�remove�stdout)�self�argsZparsed_globalsZgamelift_clientZcreate_build_kwargsZresponseZbuild_idZupload_credentialsZbucket�keyZ
access_keyZ
secret_keyZ
session_tokenZ	s3_clientZs3_transfer_mgr�fdZtemporary_zipfile�r �!/usr/lib/python3.6/uploadbuild.py�	_run_main)sX






zUploadBuildCommand._run_mainN)�__name__�
__module__�__qualname__�NAMEZDESCRIPTIONZ	ARG_TABLEr"r r r r!rs
rcCs�tjj|�}t|d��~}tj|dtjd�}tj|��V}xNtj	|�D]@\}}}x4|D],}tjj
||�}	tjj|	|�}
|j|	|
�qRWqBWWdQRXWdQRXdS)N�wb�wT)
r�path�abspath�open�zipfileZZipFileZZIP_DEFLATED�
contextlib�closing�walk�join�relpathr)Zzipfile_name�source_root�fZzip_fileZzf�root�dirs�files�filename�	full_pathZ
relative_pathr r r!rns
rcCs.|sdSx tj|�D]\}}}|rdSqWdS)NFT)rr/)r2r)r5r6r r r!r{src@seZdZddd�Zdd�ZdS)rNcCsD||_||_|jdkr|j|_ttjj|��|_d|_tj	�|_
dS)Nr)Z	_filename�_label�floatrr)�getsize�_size�_seen_so_far�	threadingZLock�_lock)rr7rr r r!�__init__�s
zProgressPercentage.__init__c
Csn|j�^|j|7_|jdkr`|j|jd}tjjd|jt|j�t|j�|f�tjj�WdQRXdS)Nr�dz
%s  %s / %s  (%.2f%%))	r?r=r<rrrr9r�flush)rZbytes_amountZ
percentager r r!�__call__�s
zProgressPercentage.__call__)N)r#r$r%r@rCr r r r!r�s
	r)r>r-rrrr,Z
s3transferrZawscli.customizations.commandsrZawscli.customizations.s3.utilsrrrr�objectrr r r r!�<module>
sT