й¼] ã @sßddlZddlZdddddddd d d d g Zd d„Zdd „Zdd„Zdd„Zdd„Zdd„Zdd„Z dd„Z dd „Z dd „Z dd „Z dd„Zdd„ZdS)éNÚ commonprefixÚexistsÚgetatimeÚgetctimeÚgetmtimeÚgetsizeÚisdirÚisfileÚsamefileÚ sameopenfileÚsamestatc Cs.ytj|ƒWntk r)dSYnXdS)NFT)ÚosÚstatÚOSError)Úpath©rú0/opt/alt/python35/lib64/python3.5/genericpath.pyrs   c Cs<ytj|ƒ}Wntk r+dSYnXtj|jƒS)NF)r rrÚS_ISREGÚst_mode)rÚstrrrr s   c Cs<ytj|ƒ}Wntk r+dSYnXtj|jƒS)NF)r rrÚS_ISDIRr)Úsrrrrr's   cCstj|ƒjS)N)r rÚst_size)Úfilenamerrrr0scCstj|ƒjS)N)r rÚst_mtime)rrrrr5scCstj|ƒjS)N)r rÚst_atime)rrrrr:scCstj|ƒjS)N)r rÚst_ctime)rrrrr?scCsa|s dSt|ƒ}t|ƒ}x8t|ƒD]*\}}|||kr/|d|…Sq/W|S)NÚ)ÚminÚmaxÚ enumerate)ÚmÚs1Ús2ÚiÚcrrrrEs  cCs"|j|jko!|j|jkS)N)Úst_inoÚst_dev)r"r#rrrr QscCs+tj|ƒ}tj|ƒ}t||ƒS)N)r rr )Úf1Úf2r"r#rrrr XscCs+tj|ƒ}tj|ƒ}t||ƒS)N)r Úfstatr )Úfp1Úfp2r"r#rrrr ascCsÁ|j|ƒ}|r3|j|ƒ}t||ƒ}|j|ƒ}||kr­|d}xR||kr¬|||d…|krŸ|d|…||d…fS|d7}q[W||dd…fS)Nér)Úrfindr)ÚpÚsepÚaltsepÚextsepÚsepIndexÚ altsepIndexÚdotIndexÚ filenameIndexrrrÚ _splitextos  r7cGs‰d}}x]|D]U}t|tƒr/d}qt|tƒrGd}qtd||jjfƒd‚qW|r…|r…tdƒd‚dS)NFTz*%s() argument must be str or bytes, not %rz.Can't mix strings and bytes in path components)Ú isinstanceÚstrÚbytesÚ TypeErrorÚ __class__Ú__name__)ÚfuncnameÚargsÚhasstrÚhasbytesrrrrÚ_check_arg_types†s     rB)r rÚ__all__rr rrrrrrr r r r7rBrrrrÚs"