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__/Config.cpython-310.pyc
o

�Qaj�@s�ddlmZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlmZmZddl
mZz
ddlZddlZWney[ej�d�ej��e�e�YnwzddlZWneyqddlmZYnwzddlmZmZmZmZmZ Wney�ddlmZmZmZmZmZ Ynwddl!m"Z"dd	l#m#Z#dd
l$m%Z%m&Z&m'Z'm(Z(m)Z)ze*Wne+y�e,Z*Ynwdd�Z-d
d�Z.dd�Z/Gdd�de0�Z1Gdd�de0�ZGdd�de0�Z2dS)�)�absolute_importN)�debug�warning�)�	EX_OSFILEa:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ImportError trying to import dateutil.parser and dateutil.tz.
Please install the python dateutil module:
$ sudo apt-get install python-dateutil
  or
$ sudo yum install python-dateutil
  or
$ pip install python-dateutil
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
)�
NoOptionError�NoSectionError�MissingSectionHeaderError�ParsingError�ConfigParser)�Progress)�
SortedDict)�s3_quote�getTreeFromXml�getDictFromTree�base_unicodise�dateRFC822toPythoncCs4t|�tkr|��dvSt|�tkr|dkrdSdS)zsCheck to see if a string is true, yes, on, or 1

    value may be a str, or unicode.

    Return True if it is
    )�true�yes�on�1TF��type�unicode�lower�bool��value�r�+/usr/lib/python3/dist-packages/S3/Config.py�is_bool_trueI�
r cCs4t|�tkr|��dvSt|�tkr|dkrdSdS)ztCheck to see if a string is false, no, off, or 0

    value may be a str, or unicode.

    Return True if it is
    )�false�no�off�0FTrrrrr�
is_bool_falseXr!r&cCst|�pt|�S)z)Check a string value to see if it is bool)r r&rrrr�is_boolgsr'c@s,eZdZdZgZiZdZdZdZdZ	dZ
dZdZdZ
dZdZdZejZej��ZejZdZdZd	Zd	Zd	Ze dd
�Z!d	Z"d	Z#dZ$d	Z%d	Z&dZ'd	Z(d	Z)dZ*dZ+dZ,gZ-gZ.dZ/d
Z0d	Z1d	Z2dZ3dZ4gd�Z5d	Z6d	Z7d	Z8dZ9dZ:ded<d	Z;dZ<dZ=dZ>dZ?dZ@dZAdZBdZCdZDdZEdZFdZGdZHdZIdZJdZKdZLdZMdZNddgZOgZPgZQiZRiZSeT�U�p�dZVdZWdZXd	ZYdZZd	Z[dZ\d	Z]d	Z^dZ_dZ`dZadZbgZcgZddZedZfgZgdZhdZidZjd	Zkd Zld	Zmd	ZndZodZpd	Zqd	Zrd	Zsd!Ztd	ZudZvd"Zwd5d#d$�Zxd5d%d&�Zyd'd(�Zzd)d*�Z{d+d,�Z|d-d.�Z}d/d0�Z~d1d2�Zd3d4�Z�dS)6�ConfigN�Tzs3.amazonaws.comz%(bucket)s.s3.amazonaws.comzsdb.amazonaws.comzcloudfront.amazonaws.comiF)�ignore_caser�Standardi8)	�uname�uid�gname�gid�atime�mtime�ctime�mode�md5���z@[sync] Remove remote S3 objects when local file has been deleted�delete_removedz}%(gpg_command)s -c --verbose --no-use-agent --batch --yes --passphrase-fd %(passphrase_fd)s -o %(output_file)s %(input_file)sz}%(gpg_command)s -d --verbose --no-use-agent --batch --yes --passphrase-fd %(passphrase_fd)s -o %(output_file)s %(input_file)s�USzbinary/octet-stream�ii'�sizer4�UTF-8�normali,z
index.htmlz8http://%(bucket)s.s3-website-%(location)s.amazonaws.com/r�d�cCs|jdurt�|�|_|jS�N)�	_instance�object�__new__)�self�
configfile�
access_key�
secret_key�access_tokenrrrrA�s
zConfig.__new__cCs.|r�z|�|�Wnty dtjvsdtjvr|��Ynw|r+|r+||_||_|r3||_d|_t	|j�dkryt�
d�pCt�
d�}t�
d�pMt�
d�}t�
d	�pWt�
d
�}|ru|s`td��t|�|_t|�|_|rtd|_t|�|_n|�
�|jr�|jdkr�td
�|jr�|jdkr�td��dSdSdS)N�AWS_CREDENTIAL_FILE�AWS_PROFILEFr�AWS_ACCESS_KEY�AWS_ACCESS_KEY_ID�AWS_SECRET_KEY�AWS_SECRET_ACCESS_KEY�AWS_SESSION_TOKEN�AWS_SECURITY_TOKENzRAWS_ACCESS_KEY environment variable is used but AWS_SECRET_KEY variable is missingTz�Cannot have server_side_encryption (S3 SSE) and KMS_key set (S3 KMS). KMS encryption will be used. Please set server_side_encryption to FalsezFKMS encryption requires signature v4. Please set signature_v2 to False)�read_config_file�IOError�os�environ�aws_credential_filerDrErF�_access_token_refresh�len�getenv�
ValueErrorr�role_config�kms_key�server_side_encryptionr�signature_v2�	Exception)rBrCrDrErF�env_access_key�env_secret_key�env_access_tokenrrr�__init__�sH���


��'zConfig.__init__cCs��zStj�d�}|r�dtt���}dd||d�}tj�d�}|rAt|��}|��}Wd�n1s4wYd|d	<||d
<d�dd
�|��D��}t	j
ddd�}|�dd|�|��}	|	��}
|	j
dkr�t|
�dkr�t|
�}t|�}|jdkr�|dd}
n|jdkr�|dd}
ntd|j��t��d|
d�t��d|
d�t��d|
d �tt|
d!��}|tjd"d#�|_tj�tj���|_WdSt�t	jd$dd�}|�d%d&�|��}	|	��}|	j
dk�rSt|�dk�rS|�d%d'|� d(��|��}	|	j
dk�rQt|	���}
t!�"|
�}
t��dt|
d��t��dt|
d��t��dt|
d)��tt|
d!��}|tjd"d#�|_tt|
d*��|_WdSt�t��)+zL
        Get credentials from IAM authentication and STS AssumeRole
        �AWS_ROLE_ARNzrole-session-%s�
AssumeRolez
2011-06-15)�Action�Version�RoleArn�RoleSessionName�AWS_WEB_IDENTITY_TOKEN_FILEN�AssumeRoleWithWebIdentityrc�WebIdentityToken�&cSs$g|]\}}d|t|dd�f�qS)z%s=%sT)�unicode_output)r)�.0�k�vrrr�
<listcomp>=s��z&Config.role_config.<locals>.<listcomp>zsts.amazonaws.com�)�host�timeout�POSTz/?��r�AssumeRoleResponse�AssumeRoleResult�Credentials�!AssumeRoleWithWebIdentityResponse�AssumeRoleWithWebIdentityResultz.Unexpected XML message from STS server: <%s />rD�AccessKeyIdrE�SecretAccessKeyrF�SessionToken�
Expirationr8)�minutesz169.254.169.254�GETz+/latest/meta-data/iam/security-credentials/z-/latest/meta-data/iam/security-credentials/%szutf-8�Token�LastUpdated)#rQrR�get�int�time�open�read�join�items�httplib�HTTPSConnection�request�getresponse�statusrUrr�tagrPr(�
update_optionrr�datetime�	timedelta�_access_token_expiration�now�dateutil�tz�tzutc�_access_token_last_update�HTTPConnection�decode�json�loads)rB�role_arn�role_session_name�params�web_identity_token_file�f�web_identity_token�encoded_params�conn�resp�resp_content�tree�result_dict�creds�
expiration�filesrrrrX)s|�

�
��

�
zConfig.role_configcCsl|jr4tj�tj���}|jr||jkr|jr|j|krdSz|��WdSt	y3t
d�YdSwdS)NzCould not refresh role)rTr�r�r�r�r�r�r�rXr\r)rBr�rrr�role_refreshus
�
��zConfig.role_refreshc
sz�tj�d��tj�d�}|rtj�|�rt|��n	tj���s#WdSt��td��t	j
�dt|dd�d��}|��}Wd�n1sGwYz"z
��
t	�|��Wntyld|}��
t	�|��YnwWnty�}z
td	�t|�f��d}~wwttj�d
d��}td|�d��fdd�	}||dd�}|r�t��dt|��||dd�}|r�t��dt|��||ddd�}	|	r�t��dt|	��WdSWdSty�}
ztd|
j��WYd}
~
dSd}
~
wt�y}
z
td|��WYd}
~
dSd}
~
ww)Nz~/.aws/credentialsrGzReading AWS credentials from %s�r�encodingr:�r�z
[default]
z*Error reading aws_credential_file (%s): %srH�defaultzUsing AWS profile '%s'Tc
s�d}z��||�}WnCtyM}z7|rtd|j|j��|rCz|}d}��||�}td|�WntyB}zWYd}~nd}~wwWYd}~nd}~ww|rWtd||��|S)NzLCouldn't find key '%s' for the AWS Profile '%s' in the credentials file '%s'r�z�Legacy configuratin key '%s' used, please use the standardized config format as described here: https://aws.amazon.com/blogs/security/a-new-and-standardized-way-to-manage-credentials-in-the-aws-sdks/zWFound the configuration option '%s' for the AWS Profile '%s' in the credentials file %s)r�rr�option�sectionr)�profile�key�
legacy_key�
print_warning�result�e�rS�configrr�get_key�s8
�������z+Config.aws_credential_file.<locals>.get_key�aws_access_key_id�AWSAccessKeyIdrD�aws_secret_access_key�AWSSecretKeyrE�aws_session_tokenFrFz&Errno %d accessing credentials file %sz;Couldn't find AWS Profile '%s' in the credentials file '%s')T)rQ�path�
expanduserrRr��isfiler�PyConfigParserr�ior��getattrr��readfp�StringIOr	r
rW�strr(r�rPr�errnor)rB�credential_file_from_env�fp�
config_string�excr�r��profile_access_key�profile_secret_key�profile_access_tokenr�rr�rrS�s�
�

�
���
���� �����
�������zConfig.aws_credential_filecCsTg}t|�D]!}ttt|��}|�d�s!|td�td�td�fvr"q|�|�q|S)N�_�string�*T)�dirrr�r(�
startswith�append)rB�retvalr��option_typerrr�option_list�s
�zConfig.option_listcCs�t|�}|��D]}|�|�}|dur|��}|�||�q|�d�r,|�d|�d��|�d�rM|�d��d�D]}|�dd�\}}|��|j|��<q9|j�|�dS)N�
acl_public�add_headers�,�:r)	rr�r��stripr��split�
extra_headers�
_parsed_filesr�)rBrC�cpr��_optionr�rrrrrO�s


zConfig.read_config_filecCst|��d|�dS)Nr�)�ConfigDumper�dump�rB�streamrrr�dump_configszConfig.dump_configcCs|durdSt|��d�r|�|t�|dd���S|dkrTzt|�}Wn�tySzztj|}Wnt	yAtj
|}YnwWn
tyPtd|��wYn�w|dkr�|�d�sb|�d�red}n|�d	�so|�d
�rrd}nd}z|r�t|dd
��|>p�t|�}Wnwt
y�td||f��wttt|��td�us�tt|�dur�t|�r�t|�r�d}nKt|�r�d}nDtd||f��ttt|��td�ur�zt|�}Wn*ty�td||f��w|dvr�|�d�r�|dd�}n|�d�r�|dd�}tt||�dS)N�$r�	verbosityz)Config: verbosity level '%s' is not valid�	limitraterm�K�
�m�M�rr5zFConfig: value of option %s must have suffix m, k, or nothing, not '%s'TFz8Config: value of option '%s' must be Yes or No, not '%s'r�z9Config: value of option '%s' must be an integer, not '%s')�	host_base�host_bucket�cloudfront_hostzhttp://�zhttps://�)rr�r�rQrVr�rW�logging�_levelNames�AttributeError�_nameToLevel�KeyError�endswithr\rr�r(r'r r&�setattr)rBr�r�shiftrrrr�	sd�����$��

zConfig.update_option)NNNN)��__name__�
__module__�__qualname__r?r��_docrDrErFrTr�r�r�r�rY�
simpledb_hostr�r��WARNINGr��sys�stdout�isatty�progress_meterr�
ProgressCR�progress_class�
send_chunk�
recv_chunk�list_md5�long_listing�human_readable_sizesr
r��forcerZ�enable�get_continue�put_continue�	upload_id�
skip_existing�	recursive�restore_days�restore_priorityr��
acl_grants�acl_revokes�
proxy_host�
proxy_port�encrypt�dry_run�add_encoding_exts�preserve_attrs�preserve_attrs_listr6�delete_after�delete_after_fetch�
max_delete�limit�
delay_updates�gpg_passphrase�gpg_command�gpg_encrypt�gpg_decrypt�	use_https�
ca_certs_file�ssl_client_key_file�ssl_client_cert_file�check_ssl_certificate�check_ssl_hostname�bucket_location�default_mime_type�guess_mime_type�use_mime_magic�	mime_type�enable_multipart�multipart_chunk_size_mb�multipart_copy_chunk_size_mb�multipart_max_chunks�sync_checks�exclude�include�
debug_exclude�
debug_include�locale�getpreferredencodingr��urlencoding_mode�log_target_prefix�reduced_redundancy�
storage_class�follow_symlinks�socket_timeout�invalidate_on_cf�invalidate_default_index_on_cf�#invalidate_default_index_root_on_cf�
website_index�
website_error�website_endpoint�additional_destinations�
files_from�
cache_filer��remove_headers�expiry_days�expiry_date�
expiry_prefixr[r��requester_pays�
stop_on_error�content_disposition�content_type�stats�use_http_expect�signurl_use_https�throttle_max�public_url_use_https�connection_pooling�connection_max_agerAr`rXr�rSr�rOr�r�rrrrr(ls�



+Lar(c@s>eZdZgfdd�Zgfdd�Zdd�Zdd�Zdd
d�Zd	S)
rcCsi|_|�||�dSr>)�cfg�
parse_file)rB�file�sectionsrrrr`JszConfigParser.__init__cCs�td|�t|�tg�kr|g}d}t�d�}t�d�}t�d�}t�d�}t�d�}tj|d|�d	d
�d���}	|	D]�}
|�|
�sG|�|
�rHq;|�|
�}|r`|��d}||vp^t	|�dk}q;|�|
�}
|
r�|r�|
�
�}|�|d
�r~|d
dd�|d
<|�|d|d
�|ddvr�d|d
dd�t	|d
�d|d
dd�f}n|d
}td|d|f�q;td||
f�q;Wd�dS1s�wYdS)NzConfigParser: Reading file '%s'Tz^\s*#.*z^\s*$z
^\[([^\]]+)\]z$^\s*(?P<key>\w+)\s*=\s*(?P<value>.*)z^"(.*)"\s*$r�r�r:r�rrrr5r�)rDrEr&z%s...%d_chars...%srp�zConfigParser: %s->%sz!Ignoring invalid line in '%s': %s)
rr�re�compiler�r�r��match�groupsrU�	groupdict�__setitem__r)rBr`ra�in_our_section�	r_comment�r_empty�	r_section�r_data�r_quotesr��line�
is_sectionr��is_data�data�print_valuerrrr_Ns@






4�"�zConfigParser.parse_filecCs
|j|Sr>�r^)rB�namerrr�__getitem__o�
zConfigParser.__getitem__cCs||j|<dSr>rt)rBrurrrrrhrszConfigParser.__setitem__NcCs||jvr
|j|S|Sr>rt)rBrur�rrrr�us

zConfigParser.getr>)r�r�rr`r_rvrhr�rrrrrIs!rc@seZdZdd�Zdd�ZdS)r�cCs
||_dSr>)r�r�rrrr`{rwzConfigDumper.__init__c	Cs�|j�d|�|��D]<}t||�}|dkr>t|t�r>zztj|}Wnty2tj	|}YnwWn	t
y=Ynw|j�d||f�qdS)Nz[%s]
r�z%s = %s
)r��writer�r��
isinstancer�r�r�r��_levelToNamer�)rBr�r�r�rrrrr�~s"

����zConfigDumper.dumpN)r�r�rr`r�rrrrr�zsr�)3�
__future__rr�r�r>rcrQr�rr�r�rr�	ExitCodesr�dateutil.parserr��dateutil.tz�ImportError�stderrrx�flush�exitr��http.client�client�configparserrrr	r
rr�r)rr
�	BaseUtilsrrrrrr�	NameErrorr�r r&r'r@r(r�rrrr�<module>s^
��  ��`1

https://t.me/RX1948 - 2025