3
�L�j� � @ s� d dl Z d dlZdddddddd d
ddd
gZdd� Zdd � Zdd� Zdd� Zdd� Zdd� Zdd� Z dd� Z
dd� Zdd
� Zdd� Z
dd� Zdd� ZejG dd
� d
��ZdS )� N�commonprefix�exists�getatime�getctime�getmtime�getsize�isdir�isfile�samefile�sameopenfile�samestat�
ALLOW_MISSINGc C s( yt j| � W n tk
r" dS X dS )NFT)�os�stat�OSError)�path� r �#/usr/lib64/python3.6/genericpath.pyr s
c C s0 yt j| �}W n tk
r" dS X tj|j�S )NF)r r r �S_ISREG�st_mode)r �str r r r s
c C s0 yt j| �}W n tk
r" dS X tj|j�S )NF)r r r �S_ISDIRr )�sr r r r r ' s
c C s t j| �jS )N)r r �st_size)�filenamer r r r 0 s c C s t j| �jS )N)r r �st_mtime)r r r r r 5 s c C s t j| �jS )N)r r �st_atime)r r r r r : s c C s t j| �jS )N)r r �st_ctime)r r r r r ? s c C sl | sdS t | d ttf�s*tttj| ��} t| �}t| �}x,t|�D ] \}}||| krD|d |� S qDW |S )N� r ) �
isinstance�list�tuple�mapr �fspath�min�max� enumerate)�m�s1�s2�i�cr r r r E s c C s | j |j ko| j|jkS )N)�st_ino�st_dev)r( r) r r r r W s c C s t j| �}t j|�}t||�S )N)r r r )�f1�f2r( r) r r r r
^ s
c C s t j| �}t j|�}t||�S )N)r �fstatr )�fp1�fp2r( r) r r r r g s
c C s� | j |�}|r"| j |�}t||�}| j |�}||kr~|d }x@||k r|| ||d � |krr| d |� | |d � fS |d7 }q>W | | d d� fS )N� r )�rfindr% )�p�sep�altsep�extsep�sepIndex�altsepIndex�dotIndex�
filenameIndexr r r � _splitextu s
r= c G sb d }}xB|D ]:}t |t�r"d}qt |t�r2d}qtd| |jjf �d �qW |r^|r^td�d �d S )NFTz*%s() argument must be str or bytes, not %rz.Can't mix strings and bytes in path components)r �str�bytes� TypeError� __class__�__name__)�funcname�args�hasstr�hasbytesr r r r �_check_arg_types� s
rG c @ s e Zd Zdd� Zdd� ZdS )r
c C s dS )Nzos.path.ALLOW_MISSINGr )�selfr r r �__repr__� s zALLOW_MISSING.__repr__c C s | j jS )N)rA rB )rH r r r �
__reduce__� s zALLOW_MISSING.__reduce__N)rB �
__module__�__qualname__rI rJ r r r r r
� s )r r �__all__r r r r r r r r r r
r r= rG �object�__new__r
r r r r �