B a:@sddlmZmZddlZddlmZmZmZmZddl m Z ddl m Z ddl mZddlmZGd d d eZGd d d eZGd ddeZdS))absolute_importunicode_literalsN)SUPPRESSArgumentDefaultsHelpFormatterArgumentParser Namespace) OrderedDict)get_type) get_env_var) IniConfigcsLeZdZfddZddZfddZddZed d Zd d Z Z S) VirtualEnvOptionsc s"tt|jf|d|_i|_dS)N)superr __init___src_sources)selfkwargs) __class__M/opt/alt/python37/lib/python3.7/site-packages/virtualenv/config/cli/parser.pyrszVirtualEnvOptions.__init__cCs(t||||drd}||j|<dS)Nzenv var)setattr startswithr)rkeyvaluesrcrrrset_srcs  zVirtualEnvOptions.set_srccs2t|dddk r|j|j|<tt|||dS)Nr)getattrrrrr __setattr__)rrr)rrrrs zVirtualEnvOptions.__setattr__cCs |j|S)N)rget)rrrrr get_sourceszVirtualEnvOptions.get_sourcecCs*t|dst|dsdSt|j|jdS)Nverbosequietr)hasattrmaxr!r")rrrr verbosity!szVirtualEnvOptions.verbositycCs*dt|jdddt|DS)Nz{}({})z, css(|] \}}|dsd||VqdS)_z{}={}N)rformat).0kvrrr *sz-VirtualEnvOptions.__repr__..)r'type__name__joinvarsitems)rrrr__repr__'szVirtualEnvOptions.__repr__) r- __module__ __qualname__rrrr propertyr%r1 __classcell__rr)rrr s    r csHeZdZdZd fdd ZddZddZd d Zdfd d ZZ S)VirtualEnvConfigParserzy Custom option parser which updates its defaults by checking the configuration files and environmental variables Ncs|dkrtjn|}t||_g|_||_|jj|d<d|d<t|d<d|d<tt |j ||t |_ |dk rt |tstd|dkrtn||_d|_d|_dS)NepilogFZadd_helpZformatter_classZ virtualenvprogz)options must be of type VirtualEnvOptions)osenvironr file_configZ epilog_listenvr7 HelpFormatterrr6rset_fixed isinstancer TypeErroroptions _interpreterZ _app_data)rrBr<argsr)rrrr3s  zVirtualEnvConfigParser.__init__cCs<x6|jD],}t|}||jkr|||j|qWdS)N)Z_actionsidr? _fix_defaultadd)ractionZ action_idrrr _fix_defaultsDs    z$VirtualEnvConfigParser._fix_defaultscCst|drt|dr|jtkrt|}tdd|jD}d}x$|D]}t|||j}|dk rDPqDW|dkr|jrx$|D]}|j ||}|dk rxPqxW|dk r|\|_|_ n |jdf}|j j |j f|dS)Ndefaultdestcss$|]}|ddddfVqdS)-r&N)lstripreplace)r(irrrr+Nsz6VirtualEnvConfigParser._fix_default..)r#rJrr rZoption_stringsr r<r;rdefault_sourcerBrrK)rrHZas_typenamesZoutcomenamerrrrFKs"   z#VirtualEnvConfigParser._fix_defaultcCs ||jdddtdddS)Nz-hz--helphelpzshow this help message and exit)rHrJrS)rI add_argumentr)rrrr enable_help_sz"VirtualEnvConfigParser.enable_helpcs^|dkr|j}n||jk r"td|d|j_z|j|_tt|j||dSd|j_XdS)Nzcan only pass in parser.optionscli) namespace)rB ValueErrorrIrr<rr6parse_known_args)rrDrW)rrrrYcs z'VirtualEnvConfigParser.parse_known_args)NN)NN) r-r2r3__doc__rrIrFrUrYr5rr)rrr6.s r6cs(eZdZfddZfddZZS)r=cstt|j|ddddS)N )Zmax_help_positionwidth)rr=r)rr8)rrrrrszHelpFormatter.__init__csDtt||}t|dr@d}||r@d|dt| }|S)NrPz (default: %(default)s)z4{} (default: %(default)s -> from %(default_source)s))rr=_get_help_stringr#endswithr'len)rrHtextrJ)rrrr^us   zHelpFormatter._get_help_string)r-r2r3rr^r5rr)rrr=qs r=) __future__rrr9argparserrrr collectionsrZvirtualenv.config.convertr Zenv_varr Zinir r r6r=rrrrs    !C