
vÅÏ^Ø  ã               @   s   Gd  d „  d ƒ Z  d S)c               @   sT  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   ú9/tmp/pip-build-8lau8j11/django/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   s0   |  j  r d St |  j d ƒ r, |  j j ƒ  Sd S)NFÚreadableT)r   Úhasattrr   r   )r   r   r   r   r      s
    	zFileProxyMixin.readablec             C   sE   |  j  r d St |  j d ƒ r, |  j j ƒ  Sd 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   s0   |  j  r d St |  j d ƒ r, |  j j ƒ  Sd 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    