
    !j                    "   d Z ddlmZmZ ddlmZmZmZ ddlm	Z
 ddlmZmZmZmZ  G d d          Z G d	 d
          Z edd          Z G d d          Z edd          Z G d d          Z edd          Z G d d          ZdS )z&Request/response of DeleteObjects API.    )absolute_importannotations)TypeTypeVarcast)ElementTree   )Element
SubElementfindallfindtextc                  $    e Zd ZdZdddZddZdS )DeleteObjectz"Delete object request information.Nnamestr
version_id
str | Nonec                "    || _         || _        d S N)_name_version_id)selfr   r   s      ]/lsinfo/ai/hellotax_ai/base_platform/venv/lib/python3.11/site-packages/minio/deleteobjects.py__init__zDeleteObject.__init__   s    
%    elementET.Element | Nonereturn
ET.Elementc                    |t          d          t          |d          }t          |d| j                   | j        t          |d| j                   |S )Convert to XML.Nzelement must be providedObjectKey	VersionId)
ValueErrorr   r   r   )r   r   s     r   toxmlzDeleteObject.toxml"   s\    ?7888Wh//7E4:...'wT-=>>>r   r   )r   r   r   r   r   r   r   r   __name__
__module____qualname____doc__r   r&    r   r   r   r      sG        ,,& & & & &     r   r   c                  $    e Zd ZdZdddZddZdS )DeleteRequestzDelete object request.Fobject_listlist[DeleteObject]quietboolc                "    || _         || _        d S r   )_object_list_quiet)r   r0   r2   s      r   r   zDeleteRequest.__init__0   s    'r   r   r   r   r   c                    t          d          }| j        rt          |dd           | j        D ]}|                    |           |S )r!   DeleteQuiettrue)r
   r6   r   r5   r&   )r   r   objs      r   r&   zDeleteRequest.toxml4   sW    (##; 	1w000$ 	 	CIIgr   N)F)r0   r1   r2   r3   r'   r(   r-   r   r   r/   r/   -   sG                   r   r/   ADeletedObject)boundc                      e Zd ZdZdd	Zedd            Zedd            Zedd            Zedd            Z	e
dd            ZdS )r=   zDeleted object information.r   r   r   r   delete_markerr3   delete_marker_version_idc                >    || _         || _        || _        || _        d S r   )r   r   _delete_marker_delete_marker_version_id)r   r   r   r@   rA   s        r   r   zDeletedObject.__init__D   s)     
%+)A&&&r   r   c                    | j         S z	Get name.r   r   s    r   r   zDeletedObject.nameP        zr   c                    | j         S zGet version ID.r   rH   s    r   r   zDeletedObject.version_idU        r   c                    | j         S )zGet delete marker.)rC   rH   s    r   r@   zDeletedObject.delete_markerZ   s     ""r   c                    | j         S )zGet delete marker version ID.)rD   rH   s    r   rA   z&DeletedObject.delete_marker_version_id_   s     --r   clsType[A]r   r   r<   c                    t          t          t          |dd                    }t          |d          }t          |d          }t          |d          } | |||duo|                                dk    |          S )/Create new object with values from XML element.r#   Tr$   DeleteMarkerDeleteMarkerVersionIdNTrue)r   r   r   title)rP   r   r   r   r@   rA   s         r   fromxmlzDeletedObject.fromxmld   s     C'5$7788g{33
 .99#+G5L#M#M s%I-*=*=*?*?6*I$	
 
 	
r   N)r   r   r   r   r@   r3   rA   r   r   r   r   r   )r   r3   )rP   rQ   r   r   r   r<   )r)   r*   r+   r,   r   propertyr   r   r@   rA   classmethodrX   r-   r   r   r=   r=   A   s        %%
B 
B 
B 
B    X       X  # # # X# . . . X. 
 
 
 [
 
 
r   BDeleteErrorc                      e Zd ZdZddZedd
            Zedd            Zedd            Zedd            Z	e
dd            ZdS )r^   zDelete error information.coder   messager   r   r   c                >    || _         || _        || _        || _        d S r   )_code_messager   r   )r   r`   ra   r   r   s        r   r   zDeleteError.__init__y   s'     

%r   r   c                    | j         S )zGet error code.)rc   rH   s    r   r`   zDeleteError.code   rI   r   c                    | j         S )zGet error message.)rd   rH   s    r   ra   zDeleteError.message   s     }r   c                    | j         S rF   rG   rH   s    r   r   zDeleteError.name   rI   r   c                    | j         S rK   rL   rH   s    r   r   zDeleteError.version_id   rM   r   rP   Type[B]r   r   r]   c                    t          t          t          |dd                    }t          |d          }t          |d          }t          |d          } | ||||          S )rS   CodeTMessager#   r$   )r   r   r   )rP   r   r`   ra   r   r   s         r   rX   zDeleteError.fromxml   sb     C'6488997I..''g{33
s4$
333r   N)r`   r   ra   r   r   r   r   r   rY   rZ   )rP   ri   r   r   r   r]   )r)   r*   r+   r,   r   r[   r`   ra   r   r   r\   rX   r-   r   r   r^   r^   v   s        ##
& 
& 
& 
&    X    X    X       X  4 4 4 [4 4 4r   CDeleteResultc                  b    e Zd ZdZddZedd            Zedd	            Zedd            Z	dS )rn   zDelete object result.r0   list[DeletedObject]
error_listlist[DeleteError]c                "    || _         || _        d S r   )r5   _error_list)r   r0   rq   s      r   r   zDeleteResult.__init__   s    
 (%r   r   c                    | j         S )zGet object list.)r5   rH   s    r   r0   zDeleteResult.object_list   s       r   c                    | j         S )zGet error list.)rt   rH   s    r   rq   zDeleteResult.error_list   rM   r   rP   Type[C]r   r   rm   c                *   t          |d          }g }|D ]/}|                    t                              |                     0t          |d          }g }|D ]/}|                    t                              |                     0 | ||          S )rS   DeletedError)r   appendr=   rX   r^   )rP   r   elementsr0   tagrq   s         r   rX   zDeleteResult.fromxml   s     7I.. 	; 	;C}44S99::::7G,,
 	8 	8Ck11#667777s;
+++r   N)r0   rp   rq   rr   )r   rp   )r   rr   )rP   rw   r   r   r   rm   )
r)   r*   r+   r,   r   r[   r0   rq   r\   rX   r-   r   r   rn   rn      s        & & & & ! ! ! X!       X  
, 
, 
, [
, 
, 
,r   N)r,   
__future__r   r   typingr   r   r   	xml.etreer   ETxmlr
   r   r   r   r   r/   r<   r=   r]   r^   rm   rn   r-   r   r   <module>r      s  " - , 3 3 3 3 3 3 3 3 & & & & & & & & & & ' ' ' ' ' ' 7 7 7 7 7 7 7 7 7 7 7 7       $       " GC'''/
 /
 /
 /
 /
 /
 /
 /
d GC}%%%*4 *4 *4 *4 *4 *4 *4 *4Z GC~&&& ,  ,  ,  ,  ,  ,  ,  ,  ,  ,r   