%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__/imapbackend.cpython-312.pyc

�

�2e!&����ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
	ddlmZddlZej e_ddlmZddl�ddlZGd�dej,j.�Zej,j3de�ej,j3d	e�ej,j4j7dd	g�y#e
$r
ZYdZ[��dZ[wwxYw)
�N)�Parser)�default)�config)�*c�N�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
y)
�ImapBackendc
�b�tjjj||�tjd|jj�d|j�d|j�d|j���||_|j�ttd��}n|j}|jsHdtj vr tj j#d�}n"t%j$d�}n|j}||_
||_|j'�y)NzI'm z	 (scheme z) connecting to z as zEnter account userid: �
IMAP_PASSWORDzEnter account password: )�	duplicity�backend�Backend�__init__�log�Debug�	__class__�__name__�scheme�hostname�username�url�eval�input�password�os�environ�get�getpass�resetConnection)�self�
parsed_urlrrs    �@/usr/lib/python3/dist-packages/duplicity/backends/imapbackend.pyrzImapBackend.__init__4s������!�!�*�*�4��<��	�	��4�>�>�*�*�+�9�Z�5F�5F�4G�GW��"�"�#�4�
�(;�(;�'<�
>�	
�������&��E�":�;�<�H�!�*�*�H��"�"��"�*�*�,��:�:�>�>�/�:��"�?�?�+E�F��!�*�*�H� ��
� ��
�����c��|j}	tjd}	|j
j
�|jdk(rtj}||d�|_n-|jdk(rtj}||d�|_tjdj���tj dd|j"d	�|_t&j(so|j
j+|j,|j.�|j
j1t&j2�tj5d
�y|j
j+|j,�d|j��|j.�|j
j1t&j2�tj5d
�y#t$r|j}Y���wxYw#t$rY���wxYw)N�IMAP_SERVER�imap��imapsi�zType of imap class: z^/��zIMAP connected�@)rrr�KeyErrorr�conn�close�	Exceptionr�imaplib�IMAP4�	IMAP4_SSLrrr�re�sub�path�
remote_dirr�imap_full_address�loginrr�select�imap_mailbox�Info)rr �imap_server�cls    r!rzImapBackend.resetConnectionRs{���X�X�
�	.��*�*�]�3�K�
	��I�I�O�O������&����B��;��,�D�I�
�
�
�'�
)��"�"�B��;��,�D�I��	�	�(����
�6�7��&�&���Z�_�_�a�@����'�'��I�I�O�O�D�M�M�4�=�=�9��I�I���V�0�0�1��H�H�%�&��I�I�O�O�t�}�}�o�Q�z�/B�/B�.C�D�d�m�m�T��I�I���V�0�0�1��H�H�%�&��7�	.�$�-�-�K�	.���	��	�s"�G�G9�G6�5G6�9	H�Hc��tjjj�}|j|d<|j�|d<tjjj
dd�}|j|j��tjj|�|j|�|j�S)N�From�Subject�application�binary)
�email�mime�	multipart�
MIMEMultipartr5�decode�MIMEBase�set_payload�read�encoders�
encode_base64�attach�	as_string)r�f�rname�mp�as     r!�prepareBodyzImapBackend.prepareBodyss���
�Z�Z�
!�
!�
/�
/�
1��
�_�_��6�
������9�
��J�J� � �)�)�-��B��	�
�
�a�f�f�h��
���$�$�Q�'�
�	�	�!���|�|�~�r"c���|jd�}tj}|dk(rd}|dkDr�	|jj	|�|j||�}|jj	tj�|jjtjdd|j��	tj!d	|�d
��y#tjjtjtjf$r�|dz}tj!d|�d��t#j$d�|dkDr�	|j'�nw#tjjtjtjf$r2|dz}tj!d�t#j$d�YnwxYw|dkDr��YnwxYw|dkDr�����&)N�rbr�@r)zError saving '�', retrying in 30s ��$Error reconnecting, retrying in 30s �IMAP mail with 'z' subject stored)�openr�timeoutr,r8rRr9�append�encoder/r0�abort�socket�error�sslerrorrr:�time�sleepr)r�source_path�remote_filenamerN�allowedTimeout�bodys      r!�_putzImapBackend._put�s������T�"�������Q��!�N��q� �
'��	�	� � ��1��'�'��?�;���	�	� � ��!4�!4�5��	�	� � ��!4�!4�d�D�$�+�+�-�P��	���#�O�#4�4D�E�F���M�M�'�'����v���G�
'��!�#�����>�/�):�:M�N�O��
�
�2��$�q�(�'��,�,�.���#�M�M�/�/����v���O�'�&�!�+�����!G�H��
�
�2��'��	%�q�(��	
'���q� �s8�BC�A4G�E �G� A+G�G�
G�G�Gc��tj}|dk(rd}|dkDr�	|jjtj�|jjdd|�\}}|dk7rt
|d��|ddk(rt
d��|jj|dd�\}}|dk7rt
|d��|dd}t�}|j|j��}|jd�}	|	jd	�
�}
	|j/d�}|j1
�|j3�|j5�t$j'd|�d��y#tjjtj tj"f$r�|dz}t$j'd|�d��t)j*d
�|dkDr�	|j-�nw#tjjtj tj"f$r2|dz}t$j'd�t)j*d
�YnwxYw|dkDr��YnwxYw|dkDr��`��h)NrrUr?�OKr(zno mail with subject %sz(RFC822)r)T)rFzError loading 'rVrWrX�wbrYz' subject fetched)rr[r,r8r9�searchr.�fetchr�parsestrrF�get_payloadr/r0r^r_r`rarr:rbrcrrZ�writer-�setdata)rre�
local_pathrf�result�flist�rawbody�p�mrPrg�tfiles            r!�_getzImapBackend._get�s�������Q��!�N��q� �#
'��	�	� � ��!4�!4�5�"&�)�)�"2�"2�4��O�"T�����T�>�#�E�!�H�-�-���8�r�>�#�$=�>�>�"&�)�)�/�/�%��(�J�"G�����T�>�#�E�!�H�-�-���(�1�+���H���J�J�w�~�~�/�0���]�]�1�%���~�~�T�~�2�������%��
���D��
���
��������#�O�#4�4E�F�G��#�M�M�'�'����v���G�
'��!�#�����?�?�*;�;N�O�P��
�
�2��$�q�(�'��,�,�.���#�M�M�/�/����v���O�'�&�!�+�����!G�H��
�
�2��'��	%�q�(��	
'��3�q� �s8�C8E3�3A4I3�(G9�8I3�9A+I'�$I3�&I'�'I3�2I3c�>�g}|jjtj�\}}|dk7rt	|d��|jjdd|j�\}}|dk7rt|d��|ddk(r|S|dj�jd�}d|d|dfz}|jj|d�\}}|dk7rt|d��|D]�}t|�d	k(r�tt�
�j|d	jd��}|d}|d
}	|	��Pt!j"d|j�d��j%|	�s��|j'|�t(j+d|�d|	�����|S)Nrjr�FROMr"� s%s:%s���z(BODY[HEADER])r))�policyzunicode-escape�subject�from�^�$zIMAP flist: � )r,r8rr9�BackendExceptionrlr5r.�strip�splitrm�lenrrrnrFr2�compile�matchr\rr:)
r�retrsrt�nums�set�msg�headers�subj�header_froms
          r!�_listzImapBackend._list�s������)�)�*�*�6�+>�+>�?�����T�>�"�5��8�,�,��)�)�*�*�4�����I�����T�>��E�!�H�%�%���8�s�?��J��Q�x�~�~��%�%�d�+���$�q�'�4��8�,�,���)�)�/�/�#�/?�@�����T�>��E�!�H�%�%��
	B�C��3�x�1�}���G�,�5�5��A��
�
�.�/��G��9�%�D�!�&�/�K� �'��:�:��$�/�/�!2�!�4�5�;�;�K�H��J�J�t�$��H�H�|�D�6��;�-�@�A�
	B��
r"c�<�||�\}}|dk7rt|d��|S)Nrjr)r.)r�fun�argsr�rts     r!�imapfzImapBackend.imapf�s*���D�z���e��$�;��E�!�H�%�%��r"c�T�|j|jj|dd�y)Nz+FLAGSz\DELETED)r�r,�store)r�is  r!�delete_single_mailzImapBackend.delete_single_mail�s���
�
�4�9�9�?�?�A�x��=r"c�N�|j|jj�}y�N)r�r,�expunge)rrts  r!r�zImapBackend.expunges���
�
�4�9�9�,�,�-�r"c�|�|D]�}|j|jjdd|�d��}|dj�}t	|�dkDs�P|ddk7s�Y|j|d�tjd|�d����|j�tjdt	|��d��y)	Nz	(SUBJECT �)rr(zmarked z to be deletedzIMAP expunged z files)	r�r,rlr�r�r�r�Noticer�)r�
filename_list�filenamerts    r!�_delete_listzImapBackend._delete_lists���%�	?�H��J�J�t�y�y�/�/���8�*�A�7N�O�E��!�H�N�N�$�E��5�z�A�~�%��(�b�.��'�'��a��1��
�
�W�X�J�n�=�>�	?�	
�����
�
�^�C�
�$6�#7�v�>�?r"c��|jjtj�|jj	�|jj�yr�)r,r8rr9r-�logout)rs r!�_closezImapBackend._closes8���	�	����,�,�-��	�	�����	�	���r"N)r�
__module__�__qualname__rrrRrhryr�r�r�r�r�r��r"r!rr3s?���<'�B�$G�</H�b#�J�>�.�@�r"rr%r')rB�email.encoders�email.mime.multipartrr/rr2r_rb�email.parserr�email.policyrr.�e�ssl�SSLErrorrarr�duplicity.errors�duplicity.backendrr
r�register_backend�uses_netloc�extendr�r"r!�<module>r�s���0
�����	�	�
���	�$�
��,�,������_�)�#�#�+�+�_�D
���"�"�6�;�7�	���"�"�7�K�8�	�����$�$�f�g�%6�7��c�	���	�s�C�C$�C$

Zerion Mini Shell 1.0