U
    nuf                     @   sB   d dl Z d dlmZ d dlmZ G dd dZG dd deZdS )    N)Path)Unionc                   @   s<   e Zd Zeejef dddZdd Zdd Z	dd	 Z
d
S )FileIO)pathc                 C   s   t |trt|}|| _d S N)
isinstancestrr   r   )selfr    r
   1/tmp/pip-unpacked-wheel-bhkpgl14/parso/file_io.py__init__   s    
zFileIO.__init__c              
   C   s,   t | jd}| W  5 Q R  S Q R X d S )Nrb)openr   read)r	   fr
   r
   r   r      s    zFileIO.readc                 C   s,   zt j| jW S  tk
r&   Y dS X dS )zK
        Returns float - timestamp or None, if path doesn't exist.
        N)osr   getmtimeFileNotFoundErrorr	   r
   r
   r   get_last_modified   s    zFileIO.get_last_modifiedc                 C   s   d| j j| jf S )Nz%s(%s))	__class____name__r   r   r
   r
   r   __repr__   s    zFileIO.__repr__N)r   
__module____qualname__r   r   PathLiker   r   r   r   r   r
   r
   r
   r   r      s   	r   c                       s$   e Zd Z fddZdd Z  ZS )KnownContentFileIOc                    s   t  | || _d S r   )superr   _content)r	   r   contentr   r
   r   r   !   s    zKnownContentFileIO.__init__c                 C   s   | j S r   )r   r   r
   r
   r   r   %   s    zKnownContentFileIO.read)r   r   r   r   r   __classcell__r
   r
   r    r   r       s   r   )r   pathlibr   typingr   r   r   r
   r
   r
   r   <module>   s   