o
    È·e•  ã                   @   sH   d dl mZ d dlZG dd„ deƒZG dd„ deƒZG dd„ deƒZdS )	é    )ÚhandlerNc                   @   s6   e Zd ZdZ		ddd„Zdd„ Zdd	„ Zd
d„ ZdS )ÚDeleteda†  
    A successfully deleted object in a multi-object delete request.

    :ivar key: Key name of the object that was deleted.
    
    :ivar version_id: Version id of the object that was deleted.
    
    :ivar delete_marker: If True, indicates the object deleted
        was a DeleteMarker.
        
    :ivar delete_marker_version_id: Version ID of the delete marker
        deleted.
    NFc                 C   ó   || _ || _|| _|| _d S ©N)ÚkeyÚ
version_idÚdelete_markerÚdelete_marker_version_id)Úselfr   r   r   r	   © r   úJ/var/www/ideatree/venv/lib/python3.10/site-packages/boto/s3/multidelete.pyÚ__init__'   ó   
zDeleted.__init__c                 C   s    | j rd| j| j f S d| j S )Nz<Deleted: %s.%s>z<Deleted: %s>)r   r   ©r
   r   r   r   Ú__repr__.   s   
zDeleted.__repr__c                 C   ó   d S r   r   ©r
   ÚnameÚattrsÚ
connectionr   r   r   ÚstartElement4   ó   zDeleted.startElementc                 C   sh   |dkr	|| _ d S |dkr|| _d S |dkr#| ¡ dkr!d| _d S d S |dkr,|| _d S t| ||ƒ d S )NÚKeyÚ	VersionIdÚDeleteMarkerÚtrueTÚDeleteMarkerVersionId)r   r   Úlowerr   r	   Úsetattr©r
   r   Úvaluer   r   r   r   Ú
endElement7   s   


ÿ
zDeleted.endElement)NNFN©Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r!   r   r   r   r   r      s    
ÿr   c                   @   s6   e Zd ZdZ		ddd„Zdd„ Zdd„ Zd	d
„ ZdS )ÚErrora]  
    An unsuccessful deleted object in a multi-object delete request.

    :ivar key: Key name of the object that was not deleted.
    
    :ivar version_id: Version id of the object that was not deleted.
    
    :ivar code: Status code of the failed delete operation.
        
    :ivar message: Status message of the failed delete operation.
    Nc                 C   r   r   )r   r   ÚcodeÚmessage)r
   r   r   r(   r)   r   r   r   r   P   r   zError.__init__c                 C   s*   | j rd| j| j | jf S d| j| jf S )Nz<Error: %s.%s(%s)>z<Error: %s(%s)>)r   r   r(   r   r   r   r   r   W   s
   
ÿzError.__repr__c                 C   r   r   r   r   r   r   r   r   ^   r   zError.startElementc                 C   sX   |dkr	|| _ d S |dkr|| _d S |dkr|| _d S |dkr$|| _d S t| ||ƒ d S )Nr   r   ÚCodeÚMessage)r   r   r(   r)   r   r   r   r   r   r!   a   s   



zError.endElement)NNNNr"   r   r   r   r   r'   D   s    
ÿr'   c                   @   s*   e Zd ZdZd	dd„Zdd„ Zdd„ ZdS )
ÚMultiDeleteResultaL  
    The status returned from a MultiObject Delete request.

    :ivar deleted: A list of successfully deleted objects.  Note that if
        the quiet flag was specified in the request, this list will
        be empty because only error responses would be returned.

    :ivar errors: A list of unsuccessfully deleted objects.
    Nc                 C   s   d | _ g | _g | _d S r   )ÚbucketÚdeletedÚerrors)r
   r-   r   r   r   r   x   s   
zMultiDeleteResult.__init__c                 C   s@   |dkrt ƒ }| j |¡ |S |dkrtƒ }| j |¡ |S d S )Nr   r'   )r   r.   Úappendr'   r/   )r
   r   r   r   ÚdÚer   r   r   r   }   s   zMultiDeleteResult.startElementc                 C   s   t | ||ƒ d S r   )r   r   r   r   r   r!   ˆ   s   zMultiDeleteResult.endElementr   )r#   r$   r%   r&   r   r   r!   r   r   r   r   r,   m   s
    

r,   )Úbotor   Úxml.saxÚxmlÚobjectr   r'   r,   r   r   r   r   Ú<module>   s
   +)