o
    È·eo  ã                   @   s(   d dl Zd dlmZ G dd„ deƒZdS )é    N)ÚGrantc                   @   s>   e Zd Zddd„Zdd„ Zdd„ Zdd	„ Zd
d„ Zdd„ ZdS )ÚBucketLoggingNc                 C   s(   || _ || _|d u rg | _d S || _d S ©N)ÚtargetÚprefixÚgrants)Úselfr   r   r   © r	   úL/var/www/ideatree/venv/lib/python3.10/site-packages/boto/s3/bucketlogging.pyÚ__init__   s
   

zBucketLogging.__init__c                 C   st   | j d u rdS g }| jD ]!}|jdkr|j}n|jdkr |j}n|j}| d||jf ¡ qd| j | jd 	|¡f S )Nz<BucketLoggingStatus: Disabled>ÚCanonicalUserÚGroupz%s = %sz!<BucketLoggingStatus: %s/%s (%s)>z, )
r   r   ÚtypeÚdisplay_nameÚuriÚemail_addressÚappendÚ
permissionr   Újoin)r   r   ÚgÚur	   r	   r
   Ú__repr__#   s   



zBucketLogging.__repr__c                 C   s   | j  |¡ d S r   )r   r   )r   Úgrantr	   r	   r
   Ú	add_grant1   s   zBucketLogging.add_grantc                 C   s$   |dkr| j  tƒ ¡ | j d S d S )Nr   éÿÿÿÿ)r   r   r   )r   ÚnameÚattrsÚ
connectionr	   r	   r
   ÚstartElement4   s   
zBucketLogging.startElementc                 C   s4   |dkr	|| _ d S |dkr|| _d S t| ||ƒ d S )NÚTargetBucketÚTargetPrefix)r   r   Úsetattr)r   r   Úvaluer   r	   r	   r
   Ú
endElement;   s
   

zBucketLogging.endElementc                 C   sŽ   d}|d7 }| j d urA|d7 }|d| j  7 }| jpd}|dtjj |¡ 7 }| jr=|d7 }| jD ]}|| ¡ 7 }q0|d7 }|d	7 }|d
7 }|S )Nz&<?xml version="1.0" encoding="UTF-8"?>zD<BucketLoggingStatus xmlns="http://doc.s3.amazonaws.com/2006-03-01">z<LoggingEnabled>z<TargetBucket>%s</TargetBucket>Ú z<TargetPrefix>%s</TargetPrefix>z<TargetGrants>z</TargetGrants>z</LoggingEnabled>z</BucketLoggingStatus>)r   r   ÚxmlÚsaxÚsaxutilsÚescaper   Úto_xml)r   Úsr   r   r	   r	   r
   r)   C   s   


zBucketLogging.to_xml)NNN)	Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r#   r)   r	   r	   r	   r
   r      s    
r   )Úxml.sax.saxutilsr%   Úboto.s3.aclr   Úobjectr   r	   r	   r	   r
   Ú<module>   s   