%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/lib/python3/dist-packages/duplicity/backends/__pycache__/
Upload File :
Create Path :
Current File : //usr/lib/python3/dist-packages/duplicity/backends/__pycache__/swiftbackend.cpython-312.pyc

�

�2e�'���ddlZddlZddlmZddlmZddlmZGd�dejj�Z	ejjde	�y)�N)�config)�log)�BackendExceptionc�:�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
y	)
�SwiftBackendz
    Backend for Swift
    c	��tjjj||�	ddlm}ddlm}ddlm}||_i}i}i}dtjvr?dtjvr-tjd|d<tjd|d	<n�d
tjvrtd��dtjvrtd
��dtjvrtd��tjd
x|d<|d<tjdx|d<|d<tjdx|d<|d<dtjv�r�tjdx|d<|d<tjddk(�rXdtjvr$|jdtjdi�dtjvr$|jdtjdi�dtjvr$|jdtjdi�dtjvr$|jd tjdi�d!tjvr$|jd"tjd!i�d#tjvr$|jd$tjd#i�d%tjvr$|jd&tjd%i�d'tjvr$|jd(tjd'i�d)tjvr$|jd*tjd)i�d+tjvr$|jd,tjd+i�d-tjvr*|jd.tjd-i�nd/|d<d%tjvrtjd%|d&<d-tjvr$|jd.tjd-i�|j!�D]
}	||	|d0|	��<�||d1<|j"j%d2�D�
cgc]
}
|
d3k7s�	|
��}}
|j'd�|_|rd2j+|��d2�|_nd3|_t.j0}d4}
d}	t3j4d5|�d6��|dDi|��|_|j6j9|j(�}|�]t3jFd9|j(���	|rtI|
|gg�nd}|j6jK|j(|�:�nk|rQ||
jM�|k7r;t3j@d<|j(�d=||
jM��d>|�d?��nt3j4d@|���	t3j4dA|�d6��||�B�|_'|jNjQ|j(�}t3j4dC���y#t$r}tdt|�����d}~wwxYwcc}
w#|$rC}t3j4d7|j:j<�d8t|����Yd}~���d}~wt>$r\}t3j@d7|j:j<�d8t|���t2jBjD�Yd}~��d}~wwxYw#t>$r\}t3j@d;|j:j<�d8t|���t2jBjD�Yd}~���d}~wwxYw#|$r\}t3j@d7|j:j<�d8t|���t2jBjD�Yd}~���d}~wwxYw)ENr)�SwiftService)�
Connection)�ClientExceptionzBSwift backend requires the python-swiftclient library.
Exception: �SWIFT_PREAUTHURL�SWIFT_PREAUTHTOKEN�
preauthurl�preauthtoken�SWIFT_USERNAMEz,SWIFT_USERNAME environment variable not set.�SWIFT_PASSWORDz,SWIFT_PASSWORD environment variable not set.�
SWIFT_AUTHURLz+SWIFT_AUTHURL environment variable not set.�os_username�user�os_password�key�os_auth_url�authurl�SWIFT_AUTHVERSION�auth_version�3�SWIFT_USER_DOMAIN_NAME�user_domain_name�SWIFT_USER_DOMAIN_ID�user_domain_id�SWIFT_PROJECT_DOMAIN_NAME�project_domain_name�SWIFT_PROJECT_DOMAIN_ID�project_domain_id�SWIFT_PROJECT_ID�
project_id�SWIFT_PROJECT_NAME�project_name�SWIFT_TENANTNAME�tenant_name�SWIFT_ENDPOINT_TYPE�
endpoint_type�SWIFT_USERID�user_id�SWIFT_TENANTID�	tenant_id�SWIFT_REGIONNAME�region_name�1�os_�
os_options�/�zX-Storage-Policyz$Starting connection with arguments:'�'zConnection failed: � zCreating container )�headerszContainer creation failed: zContainer 'z$' exists but its storage policy is 'z' not 'z'.zContainer already created: zStarting  Swiftservice: '��optionszContainer stats: �))�	duplicity�backend�Backend�__init__�swiftclient.servicer	�swiftclientr
r�ImportErrorr�str�resp_exc�os�environ�update�keys�path�split�pop�	container�join�prefixr�swift_storage_policyr�Debug�conn�head_container�	__class__�__name__�	Exception�
FatalError�	ErrorCode�connection_failed�Info�dict�
put_container�lower�svc�stat)�self�
parsed_urlr	r
r�e�conn_kwargsr4�svc_optionsr�x�	url_parts�policy�
policy_header�container_metadatar9�container_stats                 �A/usr/lib/python3/dist-packages/duplicity/backends/swiftbackend.pyr@zSwiftBackend.__init__"s������!�!�*�*�4��<�	�8�.�3�(��
����
�������+�0D��
�
�0R�(*�
�
�3E�(F�K��%�*,�*�*�5I�*J�K��'� �r�z�z�1�&�'X�Y�Y��r�z�z�1�&�'X�Y�Y��b�j�j�0�&�'W�X�X�?A�z�z�JZ�?[�[�K�
�&��V�)<�>@�j�j�IY�>Z�Z�K�
�&��U�);�BD�*�*�_�B]�]�K�
�&��Y�)?��"�*�*�,�HJ�
�
�Sf�Hg�g�K��'�+�n�*E��z�z�-�.�#�5�+�r�z�z�9��%�%�'9�2�:�:�F^�;_�&`�a�)�R�Z�Z�7��%�%�'7����DZ�9[�&\�]�.�"�*�*�<��%�%�'<�b�j�j�Id�>e�&f�g�,��
�
�:��%�%�':�B�J�J�G`�<a�&b�c�%����3��%�%�|�R�Z�Z�@R�5S�&T�U�'�2�:�:�5��%�%�~�r�z�z�BV�7W�&X�Y�%����3��%�%�}�b�j�j�AS�6T�&U�V�(�B�J�J�6��%�%���
�
�CX�8Y�&Z�[�!�R�Z�Z�/��%�%�y�"�*�*�^�2L�&M�N�#�r�z�z�1��%�%�{�B�J�J�?O�4P�&Q�R�%����3��%�%�}�b�j�j�AS�6T�&U�V�+.�K��'�����+�)+���4F�)G�K�
�&�����+����}�b�j�j�9K�.L�M�N��?�?�$�	7�C�'1�#��K�#�c�U��$�	7�%/��L�!�
!+��� 5� 5�c� :�F�1�a�2�g�Q�F�	�F�"���q�)���� �X�X�i�0�1��3�D�K��D�K��,�,��*�
�!��	��I�I�<�[�M��K�L�"�1�[�1�D�I�!%���!9�!9�$�.�.�!I���%��H�H�*�4�>�>�*:�;�<�
�=C�$��� 7�8�9����	�	�'�'�����'�H��*�=�+>�+>�+@�A�V�K��N�N��d�n�n�-�.�&�}�':�':�'<�=�>�g�f�X�R�Q�
�

�I�I�3�4F�3G�H�I�	��I�I�1�+��a�@�A�#�K�8�D�H�!�X�X�]�]�4�>�>�:�N�	�	�	�%�n�%5�6�7��{�	�"����F�8���
��	��PG�� �	��I�I�+�A�K�K�,@�,@�+A��3�q�6�(�K�L����	��N�N�%�a�k�k�&:�&:�%;�1�S��V�H�E��
�
�/�/�
�
��	���
����1�!�+�+�2F�2F�1G�q��Q���Q��M�M�3�3����
��$�	��N�N�%�a�k�k�&:�&:�%;�1�S��V�H�E��
�
�/�/�
�
��	�s|�Y�
Z�Z� AZ�9\6�6A^�	Z�$Y;�;Z�\3�
8[�\3�A\.�.\3�6	^�?A^�^�_?�#A_:�:_?c��t||j�r*|jdk(rtjj
Syy)Ni�)�
isinstancerE�http_statusrrX�backend_not_found)r`�	operationrbs   rk�_error_codezSwiftBackend._error_code�s6���a����'��}�}��#��}�}�6�6�6�$�(�c
�l�tj|j�}tjdkDr�ddlm}tj|�}|jtjk\r�tjd�|jj|j|||jtj|�z��gdtji��}|D�cgc]}d|dvs�|��}}|D]}	|	d	r�	t|	d
��y|jtj|�z}
tjd|�d|
�d
|j�d��|j j#|j|jtj|�zt%|d���ycc}w)Nr)�SwiftUploadObjectzUploading Dynamic Large Object)�object_name�segment_sizer:rM�action�success�	tracebackzUploading 'z' to 'z' in remote container 'r7�rb)rM�obj�contents)rF�fsdecode�namer�mp_segment_sizerArtr_�st_sizerrQr^�uploadrMrOrrR�
put_object�open)r`�source_path�remote_filename�lprt�st�mp�a�uploadsr��rps           rk�_putzSwiftBackend._put�sn��
�[�[��)�)�
*���!�!�A�%�=������B��z�z�V�3�3�3��	�	�:�;��X�X�_�_��N�N�&�r�t�{�{�R�[�[�Q`�Ea�7a�b�c�+�V�-C�-C�D�%���
')�K��K�q��{�,J�1�K��K�%�D�F�!�)�,�.�v�k�/B�C�C�D��
�[�[�2�;�;��7�
7���	�	�K��t�6�"��-D�T�^�^�DT�TU�V�W��	�	����n�n����b�k�k�/�:�:��"�d�^�	�	
��Ls�%F1�2F1c�"�|jj|j|jt	j
|�zd��\}}t
|jd�5}|D]}|j|��	ddd�y#1swYyxYw)Ni)�resp_chunk_size�wb)	rR�
get_objectrMrOrFr}r�r~�write)r`r��
local_pathr9�body�f�chunks       rk�_getzSwiftBackend._get�s���	�	�,�,��N�N��K�K�"�+�+�o�6�6� �-�
�
���
�*�/�/�4�
(�	�A��
�������
�	�	�	�s�"B�Bc���|jj|jd|j��\}}|D�cgc]}|dt	|j�d��c}Scc}w)NT)�full_listingrJr~)rR�
get_containerrMrO�len)r`r9�objs�os    rk�_listzSwiftBackend._list�sU���	�	�/�/����T�X\�Xc�Xc�/�d�
���7;�<�!��&�	�#�d�k�k�*�,�-�<�<��<s�"Ac��|jj|j|jt	j
|�zg�D�cgc]}|��}}ycc}w)N)r^�deleterMrOrFr})r`�filenamer��deleteds    rk�_deletezSwiftBackend._delete�sA��"�h�h�o�o�d�n�n�t�{�{�R�[�[�Ya�Mb�?b�>c�d�e��1�e��e��es�
	Ac�J�|jj|j|jt	j
|�zg�D�cgc]}|��c}d}dt
|dd�i}tjdt	j
|��d|d�d��|Scc}w)Nr�sizer9zcontent-lengthzObjectquery: 'z' has size �.)	r^r_rMrOrFr}�intrrQ)r`r�r��sobject�sobjs     rk�_queryzSwiftBackend._query�s���"�h�h�m�m�D�N�N�T�[�[�2�;�;�W_�K`�=`�<a�b�c��1�c�de�f����G�I�.�/?�@�A�B���	�	�N�2�;�;�x�#8�"9��T�&�\�N�RS�T�U����ds�
	B N)rU�
__module__�__qualname__�__doc__r@rqr�r�r�r�r�r<rrrkrrs-���D8�L7�

�6�=�
f�rrr�swift)rF�duplicity.backendr=rr�duplicity.errorsrr>r?r�register_backendr<rrrk�<module>r�sI��*
����-�C�9�$�$�,�,�C�L
���"�"�7�L�9rr

Zerion Mini Shell 1.0