B
    T\                 @   sp   d dl mZmZmZ d dlZddlmZ ddlmZ d dl	Z
G dd de
jjZd	Zd
d ZG dd deZdS )    )print_functiondivisionabsolute_importN   )generic_glob   )tokenizec               @   s    e Zd ZdZdd Zdd ZdS )HDFS3WrapperzVWrapper around `hdfs3.HDFileSystem` that allows it to be passed to
    pyarrow methodsc             C   s   | j |S )N)fsisdir)selfpath r   1lib/python3.7/site-packages/dask/bytes/pyarrow.pyr      s    zHDFS3Wrapper.isdirc             C   s   | j |S )N)r
   isfile)r   r   r   r   r   r      s    zHDFS3Wrapper.isfileN)__name__
__module____qualname____doc__r   r   r   r   r   r   r	      s   r	   z0.8.1.dev81c             C   s    |  dd }|d k	r|| d< | S )Nusernameuser)pop)Zoptionsr   r   r   r   update_hdfs_options   s    r   c               @   sV   e Zd ZdZdd Zedd ZdddZd	d
 Zdd Z	dd Z
dd Zdd ZdS )PyArrowHadoopFileSystem/c             K   s   t jjf t|| _d S )N)paZhdfsZHadoopFileSystemr   r
   )r   kwargsr   r   r   __init__"   s    z PyArrowHadoopFileSystem.__init__c             C   s   t | }||_|S )N)object__new__r
   )clsr
   outr   r   r   from_pyarrow%   s    
z$PyArrowHadoopFileSystem.from_pyarrowrbc             K   s   | j j|fd|i|S )Nmode)r
   open)r   r   r$   r   r   r   r   r%   +   s    zPyArrowHadoopFileSystem.openc             C   s   t t| jt|S )N)sortedr   r
   	posixpath)r   r   r   r   r   glob.   s    zPyArrowHadoopFileSystem.globc             C   s   | j j|ddS )NT)Zcreate_parents)r
   mkdir)r   r   r   r   r   mkdirs1   s    zPyArrowHadoopFileSystem.mkdirsc             C   s   t || j|d S )NZlast_modified)r   r
   info)r   r   r   r   r   ukey4   s    zPyArrowHadoopFileSystem.ukeyc             C   s   | j |d S )Nsize)r
   r+   )r   r   r   r   r   r-   7   s    zPyArrowHadoopFileSystem.sizec             C   s   | j S )N)r
   )r   r   r   r   _get_pyarrow_filesystem:   s    z/PyArrowHadoopFileSystem._get_pyarrow_filesystemN)r#   )r   r   r   sepr   classmethodr"   r%   r(   r*   r,   r-   r.   r   r   r   r   r      s   
r   )Z
__future__r   r   r   r'   r(   r   baser   Zpyarrowr   Z
filesystemZDaskFileSystemr	   Z_MIN_PYARROW_VERSION_SUPPORTEDr   r   r   r   r   r   r   <module>   s   
