3
vÅÏ^Ø  ã               @   s   G d d„ dƒZ dS )c               @   sä   e Zd ZdZedd„ ƒZedd„ ƒZedd„ ƒZedd„ ƒZedd„ ƒZ	edd„ ƒZ
ed	d„ ƒZed
d„ ƒZedd„ ƒZedd„ ƒZedd„ ƒZedd„ ƒZedd„ ƒZedd„ ƒZedd„ ƒZdd„ Zdd„ Zdd„ Zdd„ ZdS )ÚFileProxyMixinzü
    A mixin class used to forward file methods to an underlaying file
    object.  The internal file object has to be called "file"::

        class FileProxy(FileProxyMixin):
            def __init__(self, file):
                self.file = file
    c             C   s   | j jS )N)ÚfileÚencoding)Úself© r   ú;/usr/lib/python3.6/site-packages/django/core/files/utils.pyÚ<lambda>   s    zFileProxyMixin.<lambda>c             C   s   | j jS )N)r   Úfileno)r   r   r   r   r      s    c             C   s   | j jS )N)r   Úflush)r   r   r   r   r      s    c             C   s   | j jS )N)r   Úisatty)r   r   r   r   r      s    c             C   s   | j jS )N)r   Únewlines)r   r   r   r   r      s    c             C   s   | j jS )N)r   Úread)r   r   r   r   r      s    c             C   s   | j jS )N)r   Úreadinto)r   r   r   r   r      s    c             C   s   | j jS )N)r   Úreadline)r   r   r   r   r      s    c             C   s   | j jS )N)r   Ú	readlines)r   r   r   r   r      s    c             C   s   | j jS )N)r   Úseek)r   r   r   r   r      s    c             C   s   | j jS )N)r   Útell)r   r   r   r   r      s    c             C   s   | j jS )N)r   Útruncate)r   r   r   r   r      s    c             C   s   | j jS )N)r   Úwrite)r   r   r   r   r      s    c             C   s   | j jS )N)r   Ú
writelines)r   r   r   r   r      s    c             C   s   | j  p| j jS )N)r   Úclosed)r   r   r   r   r      s    zFileProxyMixin.closedc             C   s$   | j r
dS t| jdƒr | jjƒ S dS )NFÚreadableT)r   Úhasattrr   r   )r   r   r   r   r      s
    
zFileProxyMixin.readablec             C   s2   | j r
dS t| jdƒr | jjƒ S dt| jddƒkS )NFÚwritableÚwÚmodeÚ )r   r   r   r   Úgetattr)r   r   r   r   r   %   s
    
zFileProxyMixin.writablec             C   s$   | j r
dS t| jdƒr | jjƒ S dS )NFÚseekableT)r   r   r   r   )r   r   r   r   r   ,   s
    
zFileProxyMixin.seekablec             C   s
   t | jƒS )N)Úiterr   )r   r   r   r   Ú__iter__3   s    zFileProxyMixin.__iter__N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úpropertyr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      s(   r   N)r   r   r   r   r   Ú<module>   s    