B
    è?F[o  ã               @   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 krg | _n|| _d S )N)ÚtargetÚprefixÚgrants)Úselfr   r   r   © r   ú4lib/python3.7/site-packages/boto/s3/bucketlogging.pyÚ__init__   s
    zBucketLogging.__init__c             C   sx   | j d krdS g }xL| jD ]B}|jdkr0|j}n|jdkrB|j}n|j}| d||jf ¡ qW d| j | jd 	|¡f S )Nz<BucketLoggingStatus: Disabled>ZCanonicalUserZGroupz%s = %sz!<BucketLoggingStatus: %s/%s (%s)>z, )
r   r   ÚtypeZdisplay_nameZuriZemail_addressÚappendZ
permissionr   Újoin)r   r   ÚgÚur   r   r	   Ú__repr__#   s    


zBucketLogging.__repr__c             C   s   | j  |¡ d S )N)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 d S )Nr   éÿÿÿÿ)r   r   r   )r   ÚnameZattrsÚ
connectionr   r   r	   ÚstartElement4   s    
zBucketLogging.startElementc             C   s0   |dkr|| _ n|dkr || _nt| ||ƒ d S )NZTargetBucketZTargetPrefix)r   r   Úsetattr)r   r   Úvaluer   r   r   r	   Ú
endElement;   s
    zBucketLogging.endElementc             C   s’   d}|d7 }| j d k	r†|d7 }|d| j  7 }| jp4d}|dtjj |¡ 7 }| jr~|d7 }x| jD ]}|| ¡ 7 }qbW |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   ÚxmlZsaxZ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   )Zxml.sax.saxutilsr   Zboto.s3.aclr   Úobjectr   r   r   r   r	   Ú<module>   s   