U
    W¨+d…	  ã                   @   s    d dl mZ G dd„ deƒZdS )é    )Úsixc                   @   sb   e Zd ZdZddd„Zedd„ ƒZdd„ Zd	d
„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zedd„ ƒZdS )ÚBlobzBlob objectNc                 C   s   || _ || _|| _d S ©N)Ú_fileÚidÚvalue)Úselfr   Úfiler   © r
   ú4/tmp/pip-unpacked-wheel-dlxw5sjy/boto/sdb/db/blob.pyÚ__init__   s    zBlob.__init__c                 C   s(   ddl m } | jr| j}n
|| jƒ}|S )Nr   )ÚStringIO)r   r   r   )r   r   Úfr
   r
   r   r	       s
    
z	Blob.filec                 C   s   t  | ¡ d¡S )Núutf-8)r   Ú	text_typeÚencode©r   r
   r
   r   Ú__str__)   s    zBlob.__str__c                 C   s@   t | jdƒr| j ¡ }n
| j ¡ }t|tjƒr2|S | d¡S d S )NÚget_contents_as_stringr   )Úhasattrr	   r   ÚgetvalueÚ
isinstancer   r   Údecode)r   r   r
   r
   r   Ú__unicode__,   s    
zBlob.__unicode__c                 C   s$   t | jdƒr| j ¡ S | j ¡ S d S )Nr   )r   r	   r   Úreadr   r
   r
   r   r   6   s    
z	Blob.readc                 C   s
   | j  ¡ S r   )r	   Úreadliner   r
   r
   r   r   <   s    zBlob.readlinec                 C   s
   t | jƒS r   )Únextr	   r   r
   r
   r   r   ?   s    z	Blob.nextc                 C   s
   t | jƒS r   )Úiterr	   r   r
   r
   r   Ú__iter__B   s    zBlob.__iter__c                 C   s&   | j r| j jS | jrt| jƒS dS d S )Nr   )r   Úsizer   Úlenr   r
   r
   r   r   E   s
    
z	Blob.size)NNN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úpropertyr	   r   r   r   r   r   r   r   r
   r
   r
   r   r      s   


r   N)Zboto.compatr   Úobjectr   r
   r
   r
   r   Ú<module>   s   