U
    Jh	                     @   s  d dl Z d dlmZmZmZmZmZmZ d dlm	Z	 d dl
mZmZmZ d dlmZ d dlmZmZ e eeZejddd	Ze	 ejdd
dZejdddZe	je	dejdddZedejej edej!eedej"ddddgddgdgdZ#dS )    N)apt_newsconfigcontract
exceptionsmessagesutil)cli_util)ProArgumentProArgumentGroup
ProCommand)HelpCategory)refresh_motdupdate_motd_messages)cfgc              
   C   sP   z|   W n4 tk
r@ } zt| t W 5 d }~X Y nX ttj d S N)	Zprocess_configRuntimeErrorLOG	exceptionr   ZRefreshConfigFailureprintr   ZREFRESH_CONFIG_SUCCESS)argsr   exc r   6/usr/lib/python3/dist-packages/uaclient/cli/refresh.py_action_refresh_config   s    
r   c                 C   s<   zt | W n tjk
r,   t Y nX ttj d S r   )r   refreshr   ZConnectivityErrorZRefreshContractFailurer   r   ZREFRESH_CONTRACT_SUCCESS)_argsr   r   r   r   _action_refresh_contract   s
    r   c              
   C   sf   z"t | t  |jr t| W n4 tk
rV } zt| t W 5 d }~X Y nX t	t
j d S r   )r   r   r   Zupdate_apt_news	Exceptionr   r   r   ZRefreshMessagesFailurer   r   ZREFRESH_MESSAGES_SUCCESS)r   r   r   r   r   r   _action_refresh_messages   s    
r   zpro refreshc                K   s^   | j d ks| j dkrt| | | j d ks2| j dkr<t| | | j d ksP| j dkrZt| | dS )Nr   r   r   r   )targetr   r   r   )r   r   kwargsr   r   r   action_refresh.   s    


r!   r   Tr   ?r   r   r   )helpnargschoicesdefault)Z	arguments)r#   ZdescriptionactionZpreserve_descriptionZhelp_categoryZargument_groups)$ZloggingZuaclientr   r   r   r   r   r   Zuaclient.clir   Zuaclient.cli.commandsr	   r
   r   Zuaclient.cli.parserr   Zuaclient.timer.update_messagingr   r   Z	getLoggerZreplace_top_level_logger_name__name__r   ZUAConfigr   Zassert_attachedr   r   Zassert_rootZassert_lock_filer!   ZCLI_ROOT_REFRESHZCLI_REFRESH_DESCZOTHERZCLI_REFRESH_TARGETZrefresh_commandr   r   r   r   <module>   s@    	