3 ft`@sddlmZddlmZddlmZddlZddlZddlZddl Zddlm Z ddl Zddl Zddl mZejdZGdd d e jZdS) )absolute_import)print_function)unicode_literalsN)commands)_dnfc@sleZdZdZedZeddZddZddZ d d Z d d Z d dZ ddZ ddZddZddZdS) AliasCommandaliaszList or create command aliasescCsl|j}|jdddtdd|jdddtdd|jdd d d d d gtd d|jdddtdddS)Nz--enable-resolvingF store_truezenable aliases resolving)defaultactionhelpz--disable-resolvingzdisable aliases resolving subcommand?listadddeletezaction to do with aliases)nargsr choicesr r *zcommand[=result]zalias definition)rmetavarr )Zadd_mutually_exclusive_group add_argumentr)parserZ enable_groupr/usr/lib/python3.6/alias.py set_argparser*s     zAliasCommand.set_argparsercCsH|jj}|jjdkrd|_tjjj|_|jj |jj |_ |j dS)NrrT)rr) clidemandsoptsrZ root_userraliasesZAliases aliases_baseZ _load_aliasesenabledZresolving_enabled_update_config_from_options)selfrrrr configure9s   zAliasCommand.configurecCsd}|jjrd}tjtd|jjr8d}tjtd|dk rtjjt j j j sft t j j j djt jjjt j j j ddd|i|jjs||j_dS)NTzAliases are now enabledFzAliases are now disabledwmainr!)rZenable_resolvingloggerinforZdisable_resolvingospathexistsrrrZALIASES_CONF_PATHopencloseconfZ BaseConfigZwrite_raw_configfiler Z_disabled_by_environr!)r#r!rrrr"Bs z(AliasCommand._update_config_from_optionscCsi}x|jjD]}|jdd}|dj}t|jdkrLtjtd|q|jdrhtjtd|qt|dkrtjtd|q|dj||<qW|S)N=rzInvalid alias key: %s-zAlias argument has no value: %s) rr splitstriplenr'warningr startswith)r#Z new_aliasesr cmdrrr_parse_option_aliasTs    z AliasCommand._parse_option_aliascCsxtjjtjjjs&ttjjjdjytjjj tjjj}Wn4tj j k rr}zt j td|dSd}~XnX|S)Nr%zConfig error: %s)r)r*r+rrrALIASES_USER_PATHr,r-Z AliasesConfig exceptionsZ ConfigErrorr'r5r)r#r.errr_load_user_aliaseseszAliasCommand._load_user_aliasescCsdttjjjd}d}|dj|7}|d7}x*|jD]\}}|dj|dj|7}q4W|j|dS)Nr%z[main] zenabled = {} z [aliases] z{} = {}  ) r,rrrr9formatitemsjoinwrite)r# user_aliasesr!Zfileobjoutputkeyvaluerrr_store_user_aliasespsz AliasCommand._store_user_aliasescCsP|j}|j}|dkrdS|j||j||jtjtddj|j dS)NzAliases added: %sz, ) r<rupdaterFr!r'r(rr@keys)r#rr.rBrrr add_aliasesys zAliasCommand.add_aliasesc Cs|j}|j}|dkrdSg}xF|D]>}y||=|j|Wq$tk r`tjtd|Yq$Xq$W|j||jtjtddj |dS)NzAlias not found: %szAliases deleted: %sz, ) r<rappendKeyErrorr'r(rrFr!r@)r#cmdsr.rBZ valid_cmdsr7rrrremove_aliasess zAliasCommand.remove_aliasescCs~|g}y|jj|}WnHtjjk r^}z(tjtd||dj|jj |WYdd}~XnXt td|dj|fdS)Nz%s, alias %s="%s"r=z Alias %s='%s') r Z_resolverr:Errorr'errorrr@rprint)r#r7argsr;rrr list_aliass0zAliasCommand.list_aliascCs|jjstjtd|jjdkrL|j}|s>tj j td|j |dS|jjdkr|jj }|gkrxtj j td|j |dS|jj s|jjstjtddSxX|jjD]}|j|qWns