B a @snddlmZmZddlmZmZmZddlmZddl m Z ddl m Z eddd d d gZ Gd d d e ZdS))absolute_importunicode_literals) OrderedDict defaultdict namedtuple)Describe)VirtualenvBuiltin)ComponentBuilder CreatorInfo key_to_class key_to_metadescribe builtin_keycsPeZdZfddZeddZddZeddZd d Z fd d Z Z S) CreatorSelectorcs2||\}|_|_|_tt|||d|dS)NZcreator)for_interpreterr rrsuperr__init__)self interpreterparserZcreators) __class__O/opt/alt/python37/lib/python3.7/site-packages/virtualenv/run/plugin/creators.pyrszCreatorSelector.__init__c Cstiddf\}}}}tt}x|dD]\}}|dkrFtd||} | r| jrl|| j|n6d|krt |t r|}||d<| |d<|||<| ||<|dkr.t |t r.| |r.|}q.W|s|rdd|D} td | ntd|t||||dS) Nzvirtualenv.createbuiltinz"builtin creator is a reserved namec Ss,g|]$\}}d|ddd|DqS)z{} for creators {}z, css|] }|jVqdS)N)__name__).0irrr (sz=CreatorSelector.for_interpreter...)formatjoin)rkvrrr (sz3CreatorSelector.for_interpreter.. z#No virtualenv implementation for {})r r rr)rrlistoptionsitems RuntimeErrorZ can_createerrorappend issubclassrrZ can_describer rr ) clsrr r rrerrorskeyZ creator_classmetaZrowsrrrrs6 zCreatorSelector.for_interpreterc CsVt|ddd}||}|jjd|||dd|jdkr@dn d|jd dS) NcSs|dkr dSdS)Nrrr r)arrr5z8CreatorSelector.add_selector_arg_parse..)r.z--{}Fzcreate environment via{}z (builtin = {}))choicesdefaultrequiredhelp)sorted _get_defaultr add_argumentrr)rnamer4 default_valuerrradd_selector_arg_parse3s z&CreatorSelector.add_selector_arg_parsecCs tt|S)N)nextiter)r4rrrr9AszCreatorSelector._get_defaultcCs2d|j||j_|j|j|j|j||dS)Nzoptions for {} {})rr;r description _impl_classZadd_parser_argumentsrr )rselectedZapp_datarrrpopulate_selected_argparseEsz*CreatorSelector.populate_selected_argparsecs@|jt||j|_t|jts0|||j|_t t | |S)N) r getattrr;r/r+rArrrrrcreate)rr&)rrrrEIs zCreatorSelector.create) r __module__ __qualname__r classmethodrr= staticmethodr9rCrE __classcell__rr)rrr s   ! rN) __future__rr collectionsrrrZvirtualenv.create.describerZ4virtualenv.create.via_global_ref.builtin.builtin_wayrbaser r rrrrrs