a ©!c°ã@sŒddlmZddlmZddlmZddlZddlZddlZddl Zddlm Z ddl Zddl Zddl mZe d¡ZGdd „d e jƒZdS) é)Úabsolute_import)Úprint_function)Úunicode_literalsN)Úcommands)Ú_Údnfc@sleZdZdZedƒZedd„ƒZdd„Zdd„Z d d „Z d d „Z d d„Z dd„Z dd„Zdd„Zdd„ZdS)Ú AliasCommand)ÚaliaszList or create command aliasescCsj| ¡}|jdddtdƒd|jdddtdƒd|jdd d gd ¢td ƒd |jdddtdƒddS)Nz--enable-resolvingFÚ store_truezenable aliases resolving)ÚdefaultÚactionÚhelpz--disable-resolvingzdisable aliases resolvingÚ subcommandú?Úlist)ÚaddrÚdeletezaction to do with aliases)Únargsr Úchoicesr r Ú*zcommand[=result]zalias definition)rÚmetavarr )Úadd_mutually_exclusive_groupÚ add_argumentr)ÚparserZ enable_group©rú:/usr/lib/python3.9/site-packages/dnf/cli/commands/alias.pyÚ set_argparser*s þþ þ ÿzAliasCommand.set_argparsercCsH|jj}|jjdvrd|_tjj ¡|_|j  ¡|jj |_ |  ¡dS)N)rrT) ÚcliÚdemandsÚoptsrZ root_userrÚaliasesZAliasesÚ aliases_baseZ _load_aliasesÚenabledZresolving_enabledÚ_update_config_from_options)ÚselfrrrrÚ configure9s   zAliasCommand.configurecCsšd}|jjrd}t tdƒ¡|jjr8d}t tdƒ¡|dur–tj t j j j ¡sft t j j j dƒ ¡t jj t j j j ddd|i¡|j ¡s–||j_dS)NTzAliases are now enabledFzAliases are now disabledÚwÚmainr")rZenable_resolvingÚloggerÚinforZdisable_resolvingÚosÚpathÚexistsrrr ZALIASES_CONF_PATHÚopenÚcloseÚconfZ BaseConfigZwrite_raw_configfiler!Z_disabled_by_environr")r$r"rrrr#Bs  þ z(AliasCommand._update_config_from_optionscCsši}|jjD]ˆ}| dd¡}|d ¡}t| ¡ƒdkrJt tdƒ|¡q | d¡rft tdƒ|¡q t|ƒdkr„t tdƒ|¡q |d ¡||<q |S)Nú=érzInvalid alias key: %sú-zAlias argument has no value: %s) rr ÚsplitÚstripÚlenr(ÚwarningrÚ startswith)r$Z new_aliasesr ÚcmdrrrÚ_parse_option_aliasTs     z AliasCommand._parse_option_aliasc Cs~tj tjjj¡s&ttjjjdƒ ¡ztjj  tjjj¡}Wn:tj j yx}zt   tdƒ|¡WYd}~dSd}~00|S)Nr&zConfig error: %s)r*r+r,rrr ÚALIASES_USER_PATHr-r.Z AliasesConfigÚ exceptionsZ ConfigErrorr(r6r)r$r/ÚerrrÚ_load_user_aliasesesÿzAliasCommand._load_user_aliasescCs`ttjjjdƒ}d}|d |¡7}|d7}| ¡D]\}}|d |d |¡¡7}q2| |¡dS)Nr&z[main] zenabled = {} z [aliases] z{} = {} ú ) r-rrr r:ÚformatÚitemsÚjoinÚwrite)r$Ú user_aliasesr"ZfileobjÚoutputÚkeyÚvaluerrrÚ_store_user_aliasespsz AliasCommand._store_user_aliasescCsP| ¡}|j}|durdS| |¡| ||j¡t tdƒd |  ¡¡¡dS)NzAliases added: %sú, ) r=r ÚupdaterGr"r(r)rrAÚkeys)r$r r/rCrrrÚ add_aliasesys zAliasCommand.add_aliasesc Csˆ| ¡}|j}|durdSg}|D]<}z||=| |¡Wq"ty\t tdƒ|¡Yq"0q"| ||j¡t tdƒd  |¡¡dS)NzAlias not found: %szAliases deleted: %srH) r=r ÚappendÚKeyErrorr(r)rrGr"rA)r$Úcmdsr/rCZ valid_cmdsr8rrrÚremove_aliases„s zAliasCommand.remove_aliasesc Cs€|g}z|j |¡}WnJtjjy`}z.t tdƒ||d |jj |¡¡WYd}~n$d}~00t tdƒ|d |¡fƒdS)Nz%s, alias %s="%s"r>z Alias %s='%s') r!Z_resolverr;ÚErrorr(ÚerrorrrAr Úprint)r$r8Úargsr<rrrÚ list_alias•sÿzAliasCommand.list_aliascCsþ|jjst tdƒ¡|jjdkrL| ¡}|s>tj   tdƒ¡‚|  |¡dS|jjdkr†|jj }|gkrxtj   tdƒ¡‚|  |¡dS|jj sÂ|jjs¨t tdƒ¡dS|jjD]}| |¡q°n8|jj D].}||jjvrît tdƒ|¡qÊ| |¡qÊdS)NzAliases resolving is disabled.rzNo aliases specified.rzNo alias specified.zNo aliases defined.zNo match for alias: %s)r!r"r(r6rrrr9rr;rPrKr rOr r)rT)r$r rNr8rrrÚrunŸs2       zAliasCommand.runN)Ú__name__Ú __module__Ú __qualname__r rZsummaryÚ staticmethodrr%r#r9r=rGrKrOrTrUrrrrr&s      r)Z __future__rrrZloggingZos.pathr*Zdnf.clirZdnf.cli.aliasesrZdnf.confZdnf.exceptionsZdnf.i18nrZ getLoggerr(ZCommandrrrrrÚs