B
    +‹dÿ  ã               @   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	   úZ/work/yifan.wang/ringdown/master-ringdown-env/lib/python3.7/site-packages/parso/file_io.pyÚ__init__   s    
zFileIO.__init__c          	   C   s    t | jdƒ
}| ¡ S Q R X d S )NÚrb)Úopenr   Úread)r   Úfr	   r	   r
   r      s    zFileIO.readc             C   s(   yt j | j¡S  tk
r"   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 )N)Úsuperr   Ú_content)r   r   Úcontent)r   r	   r
   r   !   s    zKnownContentFileIO.__init__c             C   s   | j S )N)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   