B
    è?F[…	  ã               @   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	   ú/lib/python3.7/site-packages/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 )Nz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_stringzutf-8)Ú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   Úread)r   r	   r	   r
   r   6   s    
z	Blob.readc             C   s
   | j  ¡ S )N)r   Úreadline)r   r	   r	   r
   r   <   s    zBlob.readlinec             C   s
   t | jƒS )N)Únextr   )r   r	   r	   r
   r   ?   s    z	Blob.nextc             C   s
   t | jƒS )N)Ú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   Úlen)r   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   