U eW @sddlmZddlmZddlmZddlmZddlm Z GdddeZ Gdd d e eZ Gd d d e eZ Gd d d e eZ dd d d gZdS)) annotations)ABC) OrderedDict)Path)IS_WINc@seZdZdZerdndZddddZedd Zed d Z ed d Z eddZ eddZ eddZ eddZeddZddZeddZeddZeddZed d!Zd"d#Zd$S)%Describez`Given a host interpreter tell us information about what the created interpreter might look like.z.exeNone)returncCs(||_||_d|_d|_d|_d|_dSN) interpreterdest_stdlib_stdlib_platformZ_system_stdlib _conf_vars)selfr r rH/opt/hc_python/lib/python3.8/site-packages/virtualenv/create/describe.py__init__s zDescribe.__init__cCs|jSr ) script_dirrrrrbin_dirszDescribe.bin_dircCs|j|jdS)Nscriptsr r Z install_pathrrrrrszDescribe.script_dircCs|j|jdS)NpurelibrrrrrrszDescribe.purelibcCs|j|jdS)Nplatlibrrrrrr#szDescribe.platlibcCs tt|jdf|jdffSr )listrrrkeysrrrrlibs'sz Describe.libscCs(|jdkr"t|jjd|jd|_|jS)NstdlibZ config_var)rrr sysconfig_path _config_varsrrrrr+s zDescribe.stdlibcCs(|jdkr"t|jjd|jd|_|jS)N platstdlibr )rrr r!r"rrrrstdlib_platform1s zDescribe.stdlib_platformcCs|jdkr||j|_|jSr )r_calc_config_varsr rrrrr"7s zDescribe._config_varscs jj}fdd|DS)Ncs0i|](\}}||dk r(|jjr(n|qSr ) startswithr prefix).0kvrtorr ?sz.Describe._calc_config_vars..)r Zsysconfig_varsitems)rr,Zsys_varsrr+rr%=szDescribe._calc_config_varscCsdS)z.Knows means it knows how the output will look.Trclsr rrr can_describeAszDescribe.can_describecCs |jjdS)N)r partsrrrrenv_nameFszDescribe.env_namecCs|j||jSr )rexe_stemsuffixrrrrexeJsz Describe.execCstdS)zcExecutable name without suffix - there seems to be no standard way to get this without creating it.N)NotImplementedError)r0rrrr5NszDescribe.exe_stemcCs|j||jSr )rr6)rnamerrrscriptSszDescribe.scriptN)__name__ __module__ __qualname____doc__rr6rpropertyrrrrrrr$r"r% classmethodr1r4r7r5r:rrrrr s:             rcs eZdZefddZZS)Python3Supportscs|jjdkot|S)N) version_infomajorsuperr1r/ __class__rrr1XszPython3Supports.can_describer;r<r=r@r1 __classcell__rrrFrrAWsrAcs eZdZefddZZS) PosixSupportscs|jdkot|S)NposixosrEr1r/rFrrr1^szPosixSupports.can_describerHrrrFrrJ]srJcs eZdZefddZZS)WindowsSupportscs|jdkot|S)NntrLr/rFrrr1dszWindowsSupports.can_describerHrrrFrrNcsrNN) __future__rabcr collectionsrpathlibrZvirtualenv.inforrrArJrN__all__rrrrs     M