B a @sddlmZmZmZddlmZddlmZddlm Z ddl m Z ddl m Z ddlmZe eGdd d eZe eGd d d eZe eGd d d eZe eGdddeZe eGdddeZdS))absolute_importprint_functionunicode_literals)ABCMeta) OrderedDict) add_metaclass)IS_WIN)Path) ensure_textc@seZdZdZerdndZddZeddZedd Z ed d Z ed d Z eddZ eddZ eddZeddZddZeddZeddZeddZeddZd d!Zd"S)#Describez_Given a host interpreter tell us information about what the created interpreter might look likez.execCs(||_||_d|_d|_d|_d|_dS)N) interpreterdest_stdlib_stdlib_platformZ_system_stdlib _conf_vars)selfrr rK/opt/alt/python37/lib/python3.7/site-packages/virtualenv/create/describe.py__init__s zDescribe.__init__cCs|jS)N) script_dir)rrrrbin_dirszDescribe.bin_dircCs|j|jdS)Nscripts)rr install_path)rrrrrszDescribe.script_dircCs|j|jdS)Npurelib)rr r)rrrrr#szDescribe.purelibcCs|j|jdS)Nplatlib)rr r)rrrrr'szDescribe.platlibcCs tt|jdf|jdffS)N)listrrrkeys)rrrrlibs+sz Describe.libscCs(|jdkr"t|jjd|jd|_|jS)Nstdlib) config_var)rr r sysconfig_path _config_vars)rrrrr/s zDescribe.stdlibcCs(|jdkr"t|jjd|jd|_|jS)N platstdlib)r )rr r r!r")rrrrstdlib_platform5s zDescribe.stdlib_platformcCs&|jdkr |tt|j|_|jS)N)r_calc_config_varsr strr)rrrrr";s zDescribe._config_varscsfddjjDS)Ncs(i|] \}}|jjrn||qSr) startswithr prefix).0kv)rtorr Bsz.Describe._calc_config_vars..)r Zsysconfig_varsitems)rr,r)rr,rr%As zDescribe._calc_config_varscCsdS)z-Knows means it knows how the output will lookTr)clsr rrr can_describeFszDescribe.can_describecCst|jjdS)N)r rparts)rrrrenv_nameKszDescribe.env_namecCs|jd||jS)Nz{}{})rformatexe_stemsuffix)rrrrexeOsz Describe.execCstdS)zbexecutable name without suffix - there seems to be no standard way to get this without creating itN)NotImplementedError)r/rrrr5SszDescribe.exe_stemcCs|jd||jS)Nz{}{})rr4r6)rnamerrrscriptXszDescribe.scriptN)__name__ __module__ __qualname____doc__rr6rpropertyrrrrrrr$r"r% classmethodr0r3r7r5r:rrrrr s"             r cs eZdZefddZZS)Python2Supportscs|jjdkott||S)N) version_infomajorsuperrAr0)r/r ) __class__rrr0^szPython2Supports.can_describe)r;r<r=r@r0 __classcell__rr)rFrrA\srAcs eZdZefddZZS)Python3Supportscs|jjdkott||S)N)rCrDrErHr0)r/r )rFrrr0eszPython3Supports.can_describe)r;r<r=r@r0rGrr)rFrrHcsrHcs eZdZefddZZS) PosixSupportscs|jdkott||S)Nposix)osrErJr0)r/r )rFrrr0lszPosixSupports.can_describe)r;r<r=r@r0rGrr)rFrrJjsrJcs eZdZefddZZS)WindowsSupportscs|jdkott||S)Nnt)rLrErMr0)r/r )rFrrr0sszWindowsSupports.can_describe)r;r<r=r@r0rGrr)rFrrMqsrMN) __future__rrrabcr collectionsrZsixrZvirtualenv.inforZvirtualenv.util.pathr Zvirtualenv.util.sixr objectr rArHrJrMrrrrs       N