U
e5do ã @ s– d dl Z d dlZdddddddd d
ddgZd
d„ Zdd „ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Z dd„ Z
dd„ Zdd
„ Zdd„ Z
dd„ Zdd„ ZdS )é NÚcommonprefixÚexistsÚgetatimeÚgetctimeÚgetmtimeÚgetsizeÚisdirÚisfileÚsamefileÚsameopenfileÚsamestatc C s. zt | ¡ W n ttfk
r( Y dS X dS )NFT)ÚosÚstatÚOSErrorÚ
ValueError)Úpath© r ú#/usr/lib64/python3.8/genericpath.pyr s
c C s6 zt | ¡}W n ttfk
r( Y dS X t |j¡S ©NF)r
r r r ÚS_ISREGÚst_mode)r Ústr r r r s
c C s6 zt | ¡}W n ttfk
r( Y dS X t |j¡S r )r
r r r ÚS_ISDIRr )Úsr r r r r ' s
c C s t | ¡jS ©N)r
r Úst_size©Úfilenamer r r r 0 s c C s t | ¡jS r )r
r Úst_mtimer r r r r 5 s c C s t | ¡jS r )r
r Úst_atimer r r r r : s c C s t | ¡jS r )r
r Úst_ctimer r r r r ? s c C sl | sdS t | d ttfƒs*tttj| ƒƒ} t| ƒ}t| ƒ}t|ƒD ]$\}}||| krB|d |… S qB|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 r )Úst_inoÚst_dev)r+ r, r r r r W s
ÿc C s t | ¡}t |¡}t||ƒS r )r
r r )Úf1Úf2r+ r, r r r r
^ s
c C s t | ¡}t |¡}t||ƒS r )r
Úfstatr )Úfp1Úfp2r+ r, r r r r k s
c C sŠ | |¡}|r"| |¡}t||ƒ}| |¡}||krz|d }||k rz| ||d … |krp| d |… | |d … fS |d7 }q<| | d d… fS )Né r )Úrfindr( )ÚpÚsepÚaltsepÚextsepÚsepIndexÚaltsepIndexÚdotIndexÚ
filenameIndexr r r Ú _splitexty s
r@ c G s` d }}|D ]<}t |tƒr d}qt |tƒr0d}qt| › d|jj›�ƒd ‚q|r\|r\tdƒd ‚d S )NFTz;() argument must be str, bytes, or os.PathLike object, not z.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
ÿrJ )r
r Ú__all__r r r r r r r r r r
r r@ rJ r r r r Ú