3 ©ft`° ã @ sŒ d dl mZ d dl mZ d dl mZ d dlZd dlZd dlZd dl Zd dlm Z d dlZd dlZd dl mZ ejdƒZG dd „ d e jƒZdS ) é )Úabsolute_import)Úprint_function)Úunicode_literalsN)Úcommands)Ú_Údnfc @ sl e Zd ZdZedƒZedd„ ƒZdd„ Zdd„ Z d d „ Z dd„ Zd d„ Zdd„ Z dd„ Zdd„ Zdd„ ZdS )ÚAliasCommandÚaliaszList or create command aliasesc C sl | j ƒ }|jdddtdƒd� |jdddtdƒd� | jdd d dd dgtd ƒd� | jdddtdƒd� d S )Nz--enable-resolvingFÚ store_truezenable aliases resolving)ÚdefaultÚactionÚhelpz--disable-resolvingzdisable aliases resolvingÚ subcommandú?ÚlistÚaddÚdeletezaction to do with aliases)Únargsr Úchoicesr r Ú*zcommand[=result]zalias definition)r Úmetavarr )Zadd_mutually_exclusive_groupÚadd_argumentr )ÚparserZenable_group© r ú/usr/lib/python3.6/alias.pyÚ set_argparser* s zAliasCommand.set_argparserc C sH | j j}| jjdkrd|_tj jjƒ | _| jj ƒ | jj | _| jƒ d S )Nr r T)r r ) ÚcliÚdemandsÚoptsr Z root_userr ÚaliasesZAliasesÚaliases_baseZ _load_aliasesÚenabledZresolving_enabledÚ_update_config_from_options)Úselfr r r r Ú configure9 s zAliasCommand.configurec C sš d }| j jrd}tjtdƒƒ | j jr8d}tjtdƒƒ |d k r–tjjt j jjƒsft t j jjdƒjƒ t jjjt j jjdd d|iƒ | jjƒ s–|| j_d S )NTzAliases are now enabledFzAliases are now disabledÚwÚmainr! )r Zenable_resolvingÚloggerÚinfor Zdisable_resolvingÚosÚpathÚexistsr r r ZALIASES_CONF_PATHÚopenÚcloseÚconfZ BaseConfigZwrite_raw_configfiler Z_disabled_by_environr! )r# r! r r r r" B s z(AliasCommand._update_config_from_optionsc C sž i }x”| j jD ]ˆ}|jddƒ}|d jƒ }t|jƒ ƒdkrLtjtdƒ|ƒ q|jdƒrhtjtdƒ|ƒ qt|ƒdkr†tjtdƒ|ƒ q|d jƒ ||<