B ԕ Ö@s`ddlmZmZddlZddlZddlmZddlmZm Z e dkZ Gddde Z dZdS) )absolute_importunicode_literalsN)contextmanager) ensure_str ensure_textPyPyc@s8eZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ e ddZddZe ddZe ddZddZdd ZdGd"d#ZdHd%d&Zd'd(Zd)d*ZdId+d,Zd-d.Ze d/d0Ze d1d2ZedJd4d5Ze d6d7Zd8d9Zd:d;Z dd?Z"d@dAZ#dBdCZ$dDdEZ%dFS)KPathcCs2t|tr|j}nt|}tr(|d}||_dS)Nzutf-8) isinstancer_pathrIS_PYPYencode)selfpathr rZ/opt/alt/python37/lib/python3.7/site-packages/virtualenv/util/path/_pathlib/via_os_path.py__init__ s   z Path.__init__cCstdt|jS)NzPath({}))rformatrr )r rrr__repr__sz Path.__repr__cCs t|jS)N)rr )r rrr __unicode__szPath.__unicode__cCs t|jS)N)rr )r rrr__str__sz Path.__str__cCs<t|tr|j}nt|}tr(|d}ttj|j|S)Nzutf-8) r rr rr r osrjoin)r otherrightrrr__div__s   z Path.__div__cCs ||S)N)r)r rrrr __truediv__(szPath.__truediv__cCs|jt|tr|jndkS)N)r r r)r rrrr__eq__+sz Path.__eq__cCs ||k S)Nr)r rrrr__ne__.sz Path.__ne__cCs t|jS)N)hashr )r rrr__hash__1sz Path.__hash__cCstj|jS)N)rrexistsr )r rrrr 4sz Path.existscCs ttjtj|jtjjS)N)rrrabspathrr pardir)r rrrparent7sz Path.parentcCsttj|jS)N)rrrrealpathr )r rrrresolve;sz Path.resolvecCstj|jS)N)rrbasenamer )r rrrname>sz Path.namecCs|jtjS)N)r splitrsep)r rrrpartsBsz Path.partscCstj|jS)N)rrisfiler )r rrris_fileFsz Path.is_filecCstj|jS)N)rrisdirr )r rrris_dirIsz Path.is_dirTcCs0yt|jWntk r*|s&YnXdS)N)rmakedirsr OSError)r parentsexist_okrrrmkdirLs z Path.mkdirutf-8cCs||S)N) read_bytesdecode)r encodingrrr read_textSszPath.read_textc Cs t|jd }|SQRXdS)Nrb)openr read)r file_handlerrrrr5VszPath.read_bytesc Cs&t|jd}||WdQRXdS)Nwb)r:r write)r contentr<rrr write_bytesZszPath.write_bytescCs|||dS)N)r@r )r textr7rrr write_text^szPath.write_textccs0x*t|jD]}ttj|j|VqWdS)N)rlistdirr rrr)r prrriterdirasz Path.iterdircCstj|j\}}|S)N)rrsplitextr')r _extrrrsuffixesz Path.suffixcCstj|j\}}|S)N)rrrFr')r baserGrrrstemjsz Path.stemrc cs"t|j| }|VWdQRXdS)N)r:r )r moder<rrrr:osz Path.openc CsTg}|j}x:tt|dD]&}|ttj|d|dqW|dddS)Nr)r*rangelenappendrrr)r)r resultr*irrrr1ts &z Path.parentscCst|jdS)N)rremover )r rrrunlink|sz Path.unlinkcCs |j|S)N)r#)r r'rrr with_nameszPath.with_namecCstj|jS)N)rrislinkr )r rrr is_symlinkszPath.is_symlinkcCsB|j|js"td|j|jttj|jt |jdS)Nz{} does not start with {}) r startswith ValueErrorrrrr)rr*rQ)r rrrr relative_toszPath.relative_tocCs t|jS)N)rstatr )r rrrr]sz Path.statcCst|j|dS)N)rchmodr )r rMrrrr^sz Path.chmodcCsttj|jS)N)rrrr!r )r rrrabsolutesz Path.absoluteN)TT)r4)r4)rL)&__name__ __module__ __qualname__rrrrrrrrrr propertyr#r%r'r*r,r.r3r8r5r@rBrErIrKrr:r1rVrWrYr\r]r^r_rrrrr sD            r)r) __future__rrrplatform contextlibrZvirtualenv.util.sixrrpython_implementationr objectr__all__rrrrs