U
    Jh	                     @   s   d dl Z d dlZd dlmZ d dlmZmZ d dlmZm	Z	 d dl
mZ d dlmZ d dlmZmZmZ d dlmZ G d	d
 d
eZdd Zede	je	jeejdeede	jddede	jddede	jdg ddede	jdddgdgdZdS )    N)OrderedDict)AnyOptional)
exceptionsmessages)AbstractProgress)call_api)ProArgumentProArgumentGroup
ProCommand)HelpCategoryc                   @   s(   e Zd Zeeee ee dddZdS )CLIAPIProgress)total_steps
done_stepsprevious_step_messagecurrent_step_messagec                C   s8   t  }||d< ||d< ||d< ||d< tt| d S )Nr   r   r   r   )r   printjsondumps)selfr   r   r   r   d r   2/usr/lib/python3/dist-packages/uaclient/cli/api.pyprogress   s    zCLIAPIProgress.progressN)__name__
__module____qualname__intr   strr   r   r   r   r   r      s
   r   c                K   s   | j r| jrt | jr:| jdkr:tj s:tj | _| jrHt	 }nd }t
| j| j | j||}t|  |jdkr|dS dS )N-Zsuccessr      )optionsdatar   ZCLIAPIOptionsXORDatasysstdinisattyreadZshow_progressr   r   endpoint_pathr   Zto_jsonresult)argsZcfgkwargsr   r(   r   r   r   
action_api   s"    
    r+   ZapiTr'   Zendpoint)helpmetavarz--show-progress
store_true)r,   actionz--argsr!   *)r,   destdefaultnargsz--datar"    )r,   r1   r2   )Z	arguments)r,   Zdescriptionr/   Zhelp_categoryZpreserve_descriptionZargument_groups)r   r#   collectionsr   typingr   r   Zuaclientr   r   Zuaclient.apir   Zuaclient.api.apir   Zuaclient.cli.commandsr	   r
   r   Zuaclient.cli.parserr   r   r+   ZCLI_ROOT_APIZCLI_API_DESCZOTHERZCLI_API_ENDPOINTZCLI_API_SHOW_PROGRESSZCLI_API_ARGSZCLI_API_DATAZapi_commandr   r   r   r   <module>   sZ   