o
    (f	                     @   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dejfdd	Ze	 dejfd
dZdejfddZe	je	ddejfddZedejej edej!eedej"dg d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   sF   z|   W n ty } z	t| t d }~ww ttj d S N)	process_configRuntimeErrorLOG	exceptionr   RefreshConfigFailureprintr   REFRESH_CONFIG_SUCCESS)argsr   exc r   6/usr/lib/python3/dist-packages/uaclient/cli/refresh.py_action_refresh_config   s   
r   c                 C   s6   zt | W n tjy   t w ttj d S r   )r   refreshr   ConnectivityErrorRefreshContractFailurer   r   REFRESH_CONTRACT_SUCCESS)_argsr   r   r   r   _action_refresh_contract   s   r"   c              
   C   s\   zt | t  |jrt| W n ty& } z	t| t d }~ww t	t
j d S r   )r   r   r   update_apt_news	Exceptionr   r   r   RefreshMessagesFailurer   r   REFRESH_MESSAGES_SUCCESS)r!   r   r   r   r   r   _action_refresh_messages   s   

r'   zpro refreshc                K   s^   | j d u s
| j dkrt| | | j d u s| j dkrt| | | j d u s(| j dkr-t| | 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)	arguments)r,   descriptionactionpreserve_descriptionhelp_categoryargument_groups)$logginguaclientr   r   r   r   r   r   uaclient.clir   uaclient.cli.commandsr	   r
   r   uaclient.cli.parserr   uaclient.timer.update_messagingr   r   	getLoggerreplace_top_level_logger_name__name__r   UAConfigr   assert_attachedr"   r'   assert_rootassert_lock_filer*   CLI_ROOT_REFRESHCLI_REFRESH_DESCOTHERCLI_REFRESH_TARGETrefresh_commandr   r   r   r   <module>   sB     	
