3
sj @ 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 ) Ncommonprefixexistsgetatimegetctimegetmtimegetsizeisdirisfilesamefilesameopenfilesamestat
ALLOW_MISSINGc C s( yt j| W n tk
r" dS X dS )NFT)osstatOSError)path r #/usr/lib64/python3.6/genericpath.pyr s
c C s0 yt j| }W n tk
r" dS X tj|jS )NF)r r r S_ISREGst_mode)r str r r r s
c C s0 yt j| }W n tk
r" dS X tj|jS )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 ttfs*tttj| } t| }t| }x,t|D ] \}}||| krD|d | S qDW |S )N r )
isinstancelisttuplemapr fspathminmax enumerate)ms1s2icr r r r E s c C s | j |j ko| j|jkS )N)st_inost_dev)r( r) r r r r W s c C s t j| }t j|}t||S )N)r r r )f1f2r( r) r r r r
^ s
c C s t j| }t j|}t||S )N)r fstatr )fp1fp2r( 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% )psepaltsepextsepsepIndexaltsepIndexdotIndex
filenameIndexr r r _splitextu s
r= c G sb d }}xB|D ]:}t |tr"d}qt |tr2d}qtd| |jjf d qW |r^|r^tdd d S )NFTz*%s() argument must be str or bytes, not %rz.Can't mix strings and bytes in path components)r strbytes TypeError __class____name__)funcnameargshasstrhasbytesr 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 <module> s$