U e@sddlmZddlZddlmZmZmZmZddlm Z ddl m Z ddl m Z ddlmZGdd d eZGd d d eZGd d d eZd d d gZdS)) annotationsN)SUPPRESSArgumentDefaultsHelpFormatterArgumentParser Namespace) OrderedDict)get_type) get_env_var) IniConfigcs^eZdZddfdd ZddZddfdd Zd d Zed d Zd dddZ Z S)VirtualEnvOptionsNonereturnc stjf|d|_i|_dSN)super__init___src_sources)selfkwargs __class__J/opt/hc_python/lib/python3.8/site-packages/virtualenv/config/cli/parser.pyr szVirtualEnvOptions.__init__cCs(t||||drd}||j|<dS)Nzenv var)setattr startswithr)rkeyvaluesrcrrrset_srcs  zVirtualEnvOptions.set_srccs.t|dddk r|j|j|<t||dS)Nr)getattrrrr __setattr__)rrrrrrr!s zVirtualEnvOptions.__setattr__cCs |j|Sr)rget)rrrrr get_sourceszVirtualEnvOptions.get_sourcecCs*t|dst|dsdSt|j|jdS)Nverbosequietr)hasattrmaxr$r%rrrr verbosity szVirtualEnvOptions.verbositystrcCs.t|jddddt|DdS)N(z, css*|]"\}}|ds|d|VqdS)_=N)r).0kvrrr 's z-VirtualEnvOptions.__repr__..))type__name__joinvarsitemsr(rrr__repr__&szVirtualEnvOptions.__repr__) r4 __module__ __qualname__rrr!r#propertyr)r8 __classcell__rrrrr s r csNeZdZdZdddfdd ZddZd d Zd d Zdfd d ZZ S)VirtualEnvConfigParserzkCustom option parser which updates its defaults by checking the configuration files and environmental vars.Nr r cs|dkrtjn|}t||_g|_||_|jj|d<d|d<t|d<d|d<tj ||t |_ |dk rt |t sd}t||dkrt n||_d|_d|_dS)NepilogFadd_helpformatter_class virtualenvprogz)options must be of type VirtualEnvOptions)osenvironr file_configZ epilog_listenvr> HelpFormatterrrset_fixed isinstancer TypeErroroptions _interpreterZ _app_data)rrLrFargsrmsgrrrr-s   zVirtualEnvConfigParser.__init__cCs8|jD],}t|}||jkr|||j|qdSr)_actionsidrI _fix_defaultadd)ractionZ action_idrrr _fix_defaults?s    z$VirtualEnvConfigParser._fix_defaultscCst|drt|dr|jtkrt|}tdd|jD}d}|D]}t|||j}|dk rBqbqB|dkr|jr|D]}|j ||}|dk rtqqt|dk r|\|_|_ n |jdf}|j j |j f|dS)Ndefaultdestcss$|]}|ddddfVqdS)-r,N)lstripreplace)r.irrrr1Isz6VirtualEnvConfigParser._fix_default..)r&rVrrroption_stringsr rFrEr"default_sourcerLrrW)rrTZas_typenamesoutcomenamerrrrRFs" z#VirtualEnvConfigParser._fix_defaultcCs ||jdddtdddS)Nz-hz--helphelpzshow this help message and exit)rTrVra)rU add_argumentrr(rrr enable_helpZsz"VirtualEnvConfigParser.enable_helpcsb|dkr|j}n||jk r&d}t||d|j_z|j|_tj||dWSd|j_XdS)Nzcan only pass in parser.optionscli) namespace)rL ValueErrorrUrrFrparse_known_args)rrNrerOrrrrg^s z'VirtualEnvConfigParser.parse_known_args)NN)NN) r4r9r:__doc__rrUrRrcrgr<rrrrr=*s r=cs.eZdZddfdd ZfddZZS)rGr r cstj|ddddS)N )max_help_positionwidth)rr)rrBrrrrnszHelpFormatter.__init__cs@t|}t|dr from %(default_source)s))r_get_help_stringr&endswithlen)rrTtextrVrrrrmqs    zHelpFormatter._get_help_string)r4r9r:rrmr<rrrrrGmsrG) __future__rrCargparserrrr collectionsrZvirtualenv.config.convertrZvirtualenv.config.env_varr Zvirtualenv.config.inir r r=rG__all__rrrrs     C