https://t.me/RX1948
Server : Apache
System : Linux iad1-shared-b8-43 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
User : dh_edsupp ( 6597262)
PHP Version : 8.2.26
Disable Function : NONE
Directory :  /lib/python3/dist-packages/S3/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3/dist-packages/S3/__pycache__/CloudFront.cpython-310.pyc
o

�Qa���@s�ddlmZddlZddlZddlZddlmZddlmZmZm	Z	m
Z
zddlmm
ZWney>ddlm
ZYnwddlmZddlmZddlTdd	lmZmZmZmZmZmZdd
lmZmZmZmZm Z ddl!m"Z"ddl#m#Z#m$Z$dd
l%m%Z%ddl&m&Z&ej'dkZ(dZ)dde)iZ*dd�Z+dd�Z,Gdd�de-�Z.Gdd�de-�Z/Gdd�de-�Z0Gdd�de-�Z1Gdd �d e-�Z2Gd!d"�d"e-�Z3Gd#d$�d$e-�Z4Gd%d&�d&e-�Z5Gd'd(�d(e-�Z6dS))�)�absolute_importN)�datetime)�debug�info�warning�error�)�S3)�Config)�*)�getTreeFromXml�appendXmlTextNode�getDictFromTree�dateS3toPython�encode_to_s3�decode_from_s3)�getBucketFromHostname�getHostnameFromBucket�deunicodise�urlencode_string�convertHeaderTupleListToDict)�sign_string_v2)�S3Uri�S3UriS3)�ConnMan)�
SortedDict)�rz
2010-11-01z/%(api_ver)s/distribution�api_vercCstj�|d�dS)N�
)�sys�stdout�write)�message�r#�//usr/lib/python3/dist-packages/S3/CloudFront.py�output'sr%cCs"d|�d�}td||f�dS)Nz%s:�z%s %s)�ljustr%)�labelr"r#r#r$�
pretty_output*sr)c@�$eZdZdd�Zdd�Zdd�ZdS)�DistributionSummarycCs&|jdkrtd|j��|�|�dS)Nr+z1Expected <DistributionSummary /> xml, got: <%s />)�tag�
ValueError�parse��self�treer#r#r$�__init__@s
zDistributionSummary.__init__cCs\t|�|_|jd��dk|jd<d|jvr*t|jd�tkr,|jdg|jd<dSdSdS)N�Enabled�true�CNAME)rr�lower�type�listr/r#r#r$r.Es

�zDistributionSummary.parsecC�td|jd�S�Nzcf://%s�Id�rr�r0r#r#r$�uriK�zDistributionSummary.uriN��__name__�
__module__�__qualname__r2r.r>r#r#r#r$r+/sr+c@seZdZdd�Zdd�ZdS)�DistributionListcC�.t|�}|jdkrtd|j��|�|�dS)NrDz.Expected <DistributionList /> xml, got: <%s />�rr,r-r.�r0�xmlr1r#r#r$r2Z�
zDistributionList.__init__cCsLt|�|_|jd��dk|jd<g|_|�d�D]
}|j�t|��qdS)N�IsTruncatedr4z.//DistributionSummary)rrr6�
dist_summs�findall�appendr+)r0r1�	dist_summr#r#r$r.`s
�zDistributionList.parseN)rArBrCr2r.r#r#r#r$rDNsrDc@r*)�DistributioncCrE)NrOz*Expected <Distribution /> xml, got: <%s />rFrGr#r#r$r2vrIzDistribution.__init__cCs8t|�|_t|jd�|jd<t|�d�d�|jd<dS)N�LastModifiedTimez.//DistributionConfig)r1�DistributionConfig)rrrrQ�findr/r#r#r$r.|s
zDistribution.parsecCr9r:r<r=r#r#r$r>�r?zDistribution.uriNr@r#r#r#r$rOis
rOc@sFeZdZdZddeiZddd�Zdd�Zd	d
�Zdd�Z	d
d�Z
dS)rQzq<DistributionConfig><S3Origin><DNSName/></S3Origin><CallerReference/><Enabled>true</Enabled></DistributionConfig>z0http://cloudfront.amazonaws.com/doc/%(api_ver)s/rNcCsD|durtj}|durt|�}|jdkrtd|j��|�|�dS)NrQz0Expected <DistributionConfig /> xml, got: <%s />)rQ�EMPTY_CONFIGrr,r-r.rGr#r#r$r2�s
zDistributionConfig.__init__cCst|�|_|jd��dk|jd<d|jvrg|jd<t|jd�tkr-|jdg|jd<dd�|jdD�|jd<d|jvrDd|jd<d|jvrNd|jd<|�d	�}|rzt|d
�}t|d�\|d<}|sotd|d�td
|�|jd<dSd|jd<dS)Nr3r4r5cSsg|]}|���qSr#)r6)�.0�cnamer#r#r$�
<listcomp>�sz,DistributionConfig.parse.<locals>.<listcomp>�Comment��DefaultRootObjectz
.//Loggingr�Bucketz%Logging to unparsable bucket name: %szs3://%(Bucket)s/%(Prefix)s�Logging)	rrr6r7r8rLrrr)r0r1�
logging_nodes�logging_dict�successr#r#r$r.�s&







zDistributionConfig.parsecCst�d�}tj|jd<tdd|�}td|jdd|�td|jd|�|jdD]
}td|��|�q*|jdrCtd|jd|�td	t|jd	���|�t|jd
�rbtd
t|jd
�|�|jdr�t�d�}tdt	|jd�
��|�td
|jd��|�|�|�|S)NrQ�xmlns�S3OriginrX�DNSName�CallerReferencer5rWr3rYr[rZ�Prefix)
�ET�ElementrQr_�attribr
rr6�strr�bucket�objectrM)r0r1�s3orgrU�
logging_elr#r#r$�get_printable_tree�s$




z%DistributionConfig.get_printable_treecC�tt�|����S�N�rrd�tostringrlr=r#r#r$�__unicode__�r?zDistributionConfig.__unicode__cC�$trtj|��dd�St�|���S�N�unicode)�encoding��PY3rdrprlr=r#r#r$�__str__��zDistributionConfig.__str__)NN)rArBrCrS�cloudfront_api_versionr_r2r.rlrqrxr#r#r#r$rQ�s
rQc@r*)�InvalidationcCrE)Nr{z*Expected <Invalidation /> xml, got: <%s />rFrGr#r#r$r2�rIzInvalidation.__init__cC�t|�|_dSrn�rrr/r#r#r$r.��zInvalidation.parsecC�
t|j�Srn�rgrr=r#r#r$rx��
zInvalidation.__str__N�rArBrCr2r.rxr#r#r#r$r{�sr{c@r*)�InvalidationListcCrE)Nr�z.Expected <InvalidationList /> xml, got: <%s />rFrGr#r#r$r2rIzInvalidationList.__init__cCr|rnr}r/r#r#r$r.
r~zInvalidationList.parsecCrrnr�r=r#r#r$rxr�zInvalidationList.__str__Nr�r#r#r#r$r��sr�c@sDeZdZddgfdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�ZdS)�InvalidationBatchNcCsL|r||_n|s
d}d|t�t��d�t�dd�f|_g|_|�|�dS)N�0z%s.%s.%sz%Y%m%d%H%M%Si�i')�	referencer�strftime�now�random�randint�paths�add_objects)r0r��distributionr�r#r#r$r2s
�zInvalidationBatch.__init__cCs|j�|�dSrn)r��extend)r0r�r#r#r$r�*szInvalidationBatch.add_objectscCs|jSrn)r�r=r#r#r$�
get_reference-szInvalidationBatch.get_referencecCsXt�d�}|jD]}t|�dks|ddkrd|}tdt|�|�qtd|j|�|S)Nr�rr�/�Pathrb)rdrer��lenr
rr�)r0r1�pathr#r#r$rl0s

z$InvalidationBatch.get_printable_treecCrmrnror=r#r#r$rq9r?zInvalidationBatch.__unicode__cCrrrsrvr=r#r#r$rx<ryzInvalidationBatch.__str__)	rArBrCr2r�r�rlrqrxr#r#r#r$r�s	r�c@seZdZddd�ddd�ddd�ddd�ddd�ddd�dd	d�dd	d�dd
d�d�	ZdZd
Zdd�Zdd�Zgd
d
d
fdd�Zggd
d
d
d
fdd�Z	dd�Z
dd�Zdd�Zd0dd�Z
dd�Zd d!�Zd"d#�Zd
d
d
d
efd$d%�Zd1d&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd
S)2�
CloudFront�POSTrX)�method�resource�DELETEz/%(dist_id)s�GETz/%(dist_id)s/config�PUTz/%(dist_id)s/invalidationz(/%(dist_id)s/invalidation/%(request_id)s)	�
CreateDist�
DeleteDist�GetList�GetDistInfo�
GetDistConfig�
SetDistConfig�
Invalidate�GetInvalList�GetInvalInfo�NcCs
||_dSrn)�config)r0r�r#r#r$r2Ur�zCloudFront.__init__cCs4|�d�}t|d�|d<|djdrtd��|S)Nr��data�	dist_listrJz3List is truncated. Ask s3cmd author to add support.)�send_requestrDr�NotImplementedError)r0�responser#r#r$r�\s

zCloudFront.GetListc
Cs�t�}d|jd<|��|jdd<t|�|jd<||jd<|dkr)|��|jd<n||jd<|D]}|jd�|�d	krD|jd�|�q0|rNt|�|jd
<t|�}td|�|j	d|d
�}	t
|	d�|	d<|	S)NTr3r`rarbrYrWr5rr[z&CreateDistribution(): request_body: %sr�)�bodyr�r�)rQr�	host_namerg�
public_url�countrMrrr�rO)
r0r>�
cnames_add�comment�logging�default_root_object�dist_configrU�request_bodyr�r#r#r$�CreateDistributionds&


�zCloudFront.CreateDistributioncCs|jdkrtd|��td|�|�|�}|d}	|dkr#||	jd<|dkr,||	jd<|dkr5||	jd<|D]}
|	jd�|
�d	krK|	jd�|
�q7|D]}
|	jd�|
�d	krl|	jd�|
�|	jd�|
�d	ksZqN|dkr�|d
kr{d
|	jd<nt|�|	jd<|�||	|dd
�}|S)N�cf�Expected CFUri instead of: %s�Checking current status of %sr�r3rWrYr5rFr[�headers�etag)	r7r-rr�r�rM�removerr�)r0�cfurir��
cnames_remover��enabledr�r�r��dcrUr#r#r$�ModifyDistributionys4




���zCloudFront.ModifyDistributioncCs�|jdkrtd|��td|�|�|�}|djdrdtd�d|djd<|�||d|dd	�}td
�td�	|�|�}|d
}|jddkrZ|jddkrZtd�n
td�t�d�q>t	dd�}|dd	|d<|j
d|��|d�}|S)Nr�r�r�r�r3z)Distribution is ENABLED. Disabling first.Fr�r�z,Waiting for Distribution to become disabled.z+This may take several minutes, please wait.Tr��Status�DeployedzDistribution is now disabledzStill waiting...�
��ignore_case�if-matchr�)�dist_idr�)r7r-rr�r�rr��time�sleeprr�r�)r0r�r��dr�r#r#r$�DeleteDistribution�s6


�

�
�zCloudFront.DeleteDistributioncC�<|jdkrtd|��|jd|��d�}t|d�|d<|S)Nr�r�r��r�r�r�)r7r-r�r�rO�r0r�r�r#r#r$r���

zCloudFront.GetDistInfocCr�)Nr�r�r�r�r�r�)r7r-r�r�rQr�r#r#r$r��r�zCloudFront.GetDistConfigcCsn|dkrtd�|�|�dd}td|�t|�}td|�tdd�}||d<|jd	|��||d
�}|S)Nz1SetDistConfig(): Etag not set. Fetching it first.r�r�zSetDistConfig(): Etag = %sz!SetDistConfig(): request_body: %sTr�r�r�)r�r�r�)rr�rgrr�r�)r0r�r�r�r�r�r�r#r#r$r��s
�zCloudFront.SetDistConfigcCs�|dur9|r|r9g}d|}|D]&}|�|�s||kr1|r"|�|�|r0|�|dt|���q|�|�q|}|�|�}	t|�dkr�z:t��}
tt|
�d��}|�td�	|�d��Wd�n1sgwYt
dt|��t
d|
�Wtd��ty�Ytd��wg}|	D]@}
t
|
��|d�}td	|�|jd
|
��t|�d�}|
��|d<|d
dkr�t|d�j}|d|d<td|�|�|�q�|S)Nr�i��wrz2Request to invalidate %d paths (max 999 supported)z"All the paths are now saved in: %szToo many paths to invalidate)r�r�z%InvalidateObjects(): request_body: %sr�)r�r�r��status��r�r;�
request_idz!InvalidateObjects(): response: %s)�endswithrMr��get_dist_name_for_bucket�Utils�	mktmpfile�openrr!�joinr�	Exception�ParameterErrorr�r�rr�rgr{r)r0r>r��default_index_file�invalidate_default_index_on_cf�#invalidate_default_index_root_on_cf�	new_paths�default_index_suffixr��cfuris�tmp_filename�fp�	responsesr��
invalbatchr��
inval_infor#r#r$�InvalidateObjects�sP
�
����zCloudFront.InvalidateObjectscCr�)Nr�r�r�r�r��
inval_list)r7r-r�r�r�r�r#r#r$r��r�zCloudFront.GetInvalListcCsV|jdkrtd|��|��durtd��|jd|��|��d�}t|d�|d<|S)Nr�r�zExpected CFUri with Request IDr��r�r�r��inval_status)r7r-r�r�r�r{r�r#r#r$r�s
zCloudFront.GetInvalInfoc
CsZ|dur	tdd�}|j|}|rd|d<|�||||�}|��}	td|d|df�|	j�|d|d||d�|	j��}
i}|
j|d	<|
j	|d
<t
|
���|d<|
��|d<t
�|	�td|�|d	d
kr�t|�}|r�td|�tt|��td|�|��t�|�|��|j||||dd�S|�|d	dks�|d	dkr�t|��|S)NTr�z
text/plainzcontent-typezsend_request(): %s %sr�r�r�r��reasonr�zCloudFront: response: %ri�zRetrying failed request: %szWaiting %d sec...r)�retries��i+)r�
operations�create_request�get_connectionr�c�request�getresponser�r�r�
getheaders�readr�put�CloudFrontErrorrrt�
_fail_waitr�r�r�)
r0�op_namer�r�r�r�r��	operationr��conn�
http_responser��er#r#r$r�s:





zCloudFront.send_requestcCs�t|d||d�}|stdd�}d|vr#d|vr |d|d<|d=d|vr1t�dt���|d<t|jj�dkrD|j��|jj|d	<|�	|�}d
|jj
d||d<i}||d<||d
<|d|d<|S)Nr�r�Tr��date�
x-amz-datez%a, %d %b %Y %H:%M:%S +0000rzx-amz-security-tokenzAWS �:�
Authorizationr�r�)�cloudfront_resourcerr�r��gmtimer�r��access_token�role_refresh�sign_request�
access_key)r0r�r�r�r�r��	signaturer�r#r#r$r�2s*�


zCloudFront.create_requestcCs,|d}ttt|���}td||f�|S)Nr�z"CloudFront.sign_request('%s') = %s)rrrr)r0r��string_to_signrr#r#r$rOszCloudFront.sign_requestcCstj|jjdd�}|S)NT)�ssl)r�getr��cloudfront_host)r0r�r#r#r$r�UszCloudFront.get_connectioncCs|j|ddS)Nrr)�_max_retries)r0r�r#r#r$r�YszCloudFront._fail_waitc
Cs6|jdkr|gS|jdkrtd|��td|�tjdur||��}it_|djD]J}d}d|jvr?t|jdd�d	}nd
|jvrZt|jd
d�d	}|dt	|�
���}nq*tj�|d�durjt�tj|<tj|�
|���q*tdtj�ztj|�
�WSty�}z
t|�td|��d}~ww)
Nr��s3z,CloudFront or S3 URI required instead of: %sz_get_dist_name_for_bucket(%r)r�rXr`rar�CustomOriginz
dist_list: %sz>Unable to translate S3 URI to CloudFront distribution name: %s)r7r�rr�r�r�rKrrr�rhr�set�addr>r�)r0r>r�r��
distListIndexr�r#r#r$r�]s6




��z#CloudFront.get_dist_name_for_bucketrn)NNN)rArBrCr�r
r�r2r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�r#r#r#r$r�DsB�

�

.
$r�c@sneZdZdZGdd�de�Ze�Zedd��Zedd��Z	edd	��Z
ed
d��Zedd
��Zedd��Z
dS)�Cmdz3
    Class that implements CloudFront commands
    c@s4eZdZgZgZdZdZdZdZdd�Z	dd�Z
dS)zCmd.OptionsNcCsdd�t|�D�S)NcSsg|]	}|�d�r|�qS)�cf_)�
startswith)rT�optr#r#r$rV�sz+Cmd.Options.option_list.<locals>.<listcomp>)�dirr=r#r#r$�option_list�r?zCmd.Options.option_listcCsttj||�dSrn)�setattrr�options)r0�option�valuer#r#r$�
update_option�r?zCmd.Options.update_option)rArBrC�
cf_cnames_add�cf_cnames_remove�
cf_comment�	cf_enable�
cf_logging�cf_default_root_objectrrr#r#r#r$�Options�sr$cCs4tt��}g}|D]}|�t|��}|�|�q	|Srn)r�r
r�rr�)�argsr�r��arg�urisr#r#r$�_parse_args�s
zCmd._parse_argscCstt��}|sn|��}|djD][}d|jvr"t�|jdd�}nd|jvr1d|jdd}nd}td|�td|���td	|jd	�d
|jvrWtdd�	|jd
��td
|jd
�td|jd�t
d�qdSt�|�}|D]�}|�
|�}|d}|jd}d|jvr�t�|jdd�}nd|jvr�d|jdd}nd}td|�td|���td	|jd	�d
|jvr�tdd�	|jd
��td
|jd
�td|jd�td|jd�td|jd�td|jdp�d�td|dd�qudS)Nr�r`rarz
http://%s/z	<unknown>�Origin�DistId�
DomainNamer5�CNAMEs�, r�r3rXr�rQrW�DfltRootObjectrYr[�Disabled�Etagr�r�)r�r
r�rKrr�httpurl_to_s3urir)r>r�r%rr(r�)r%r�r�r��originr�r�r�r#r#r$r�sP





�






�zCmd.infocCshtt��}g}|D](}t|�}|jdkrtd|��|��r$td|��|��s,td��|�|�q	|s8td��|D]w}td|�|j	|t
jjt
jj
t
jjt
jjd�}|d}|jd	}td
�tdt�|jdd
��td|���td|jd�tdd�|jd��td|jd�td|jd�td|jd�td|jd�td|dd�q:dS)Nrz@Distribution can only be created from a s3:// URI instead of: %sz4Use s3:// URI with a bucket name only instead of: %sz3CloudFront can only handle lowercase-named buckets.zNo valid bucket names foundzCreating distribution from: %s)r�r�r�r�r�rQzDistribution created:r)r`rar*r+r,r-r5rWr�r3rYr0r�r�)r�r
rr7r�ri�is_dns_compatiblerMrr�rrrr r"r#r%r)rr1r>r�)r%r��bucketsr&r>r�r�r�r#r#r$�create�sB

�
�z
Cmd.createcCsXtt��}t�|�}|D]}|�|�}|ddkr#td||df�td|�qdS)Nr��z(Distribution %s could not be deleted: %sr�zDistribution %s deleted)r�r
rr(r�rr%)r%r�r�r�r�r#r#r$�delete�s


�z
Cmd.deletec	Csdtt��}t|�dkrtd��z	t�|�d}Wnty#td��w|j|tjj	tjj
tjjtjjtjj
tjjd�}|ddkrLtd||d	f�td
|�|�|�}|d}|jd}td
t�|jdd��td|���td|jd�td|jd�tdd�|jd��td|jd�td|jd�td|jd�td|dd�dS)Nrz7Too many parameters. Modify one Distribution at a time.rz No valid Distribution URI found.)r�r�r�r�r�r�r�r6z)Distribution %s could not be modified: %sr�zDistribution modified: %sr�rQr)r`rar*r+r�r,r-r5rWr3rYr0r�r�)r�r
r�r�rr(�
IndexErrorr�rrrr r!r"r#rr%r�rr)rr1r>r�)r%r�r�r�r�r�r#r#r$�modify�s>
��

z
Cmd.modifyc
Cs&tt��}t�|�}g}|D]7}|��r|�t|��q|�|�}z|djdD]}|�d�	d|�
�|dg��q)WqtyEYqw|D]H}t|�}|�
|�}|dj}	|	dd}
t|
t�rgt|
�nd	}td
t|��td|	d�td|	d
�td|�td|	dd�td�qHdS)Nr��InvalidationSummaryr�zcf:/r;r�r�r�r�URIr��Created�
CreateTimezNr of paths�	ReferencerbrX)r�r
rr(r�rMrgr�rr�r�r�rr��
isinstancer8r�r)r%)r%r�r��requestsr�r��i�reqr��str��nr_of_pathsr#r#r$�	invalinfos6


 ��



�z
Cmd.invalinfoN)rArBrC�__doc__rir$r�staticmethodr(rr5r7r9rEr#r#r#r$r�s 

+
!
	
r)7�
__future__rrr�r�rr�rrrr�xml.etree.ElementTree�etree�ElementTreerd�ImportError�elementtree.ElementTreer	r
�
Exceptions�	BaseUtilsrr
rrrrr�rrrrr�Cryptorrrrr�version_inforwrzrr%r)rir+rDrOrQr{r�r�r�rr#r#r#r$�<module>sH� 
T1A

https://t.me/RX1948 - 2025