o
    ϴf                     @   s   d dl mZ d dlmZmZ d dlmZ d dlmZ d dl	m
Z
 dedefdd	ZG d
d deZG dd deZG dd deZG dd deZG dd deZG dd deZdS )    )messages)APIResponseErrorWarningObject)UbuntuProError)get_pro_environment)check_for_new_version	exceptionreturnc              	   C   s   t | ttfrt| j| jpd| jj | jpi d}ntt	| d| jj i d}g }t
 }|r@|ttjj|djtjji d tdddddd	 tt  D ii|g|d
S )Nzgeneric-)titlecodemeta)versionv1failurer   environment_varsc                 S   s   g | ]	\}}||d qS ))namevalue ).0r   r   r   r   5/usr/lib/python3/dist-packages/uaclient/api/errors.py
<listcomp>)   s    zerror_out.<locals>.<listcomp>)_schema_versionresultdataerrorswarnings)
isinstancer   APIErrorr   msgmsg_code	__class____name__additional_infostrr   appendr   WARN_NEW_VERSION_AVAILABLEformatr   r   sortedr   items)r   errorr   new_versionr   r   r   	error_out   sJ   


r+   c                   @   s   e Zd ZdS )r   N)r!   
__module____qualname__r   r   r   r   r   4   s    r   c                   @      e Zd ZejZdS )APIInvalidEndpointN)r!   r,   r-   r   E_API_INVALID_ENDPOINT_formatted_msgr   r   r   r   r/   8       
r/   c                   @   r.   )APIMissingArgN)r!   r,   r-   r   E_API_MISSING_ARGr1   r   r   r   r   r3   <   r2   r3   c                   @   r.   )APINoArgsForEndpointN)r!   r,   r-   r   E_API_NO_ARG_FOR_ENDPOINTr1   r   r   r   r   r5   @   r2   r5   c                   @   r.   )APIJSONDataFormatErrorN)r!   r,   r-   r   E_API_JSON_DATA_FORMAT_ERRORr1   r   r   r   r   r7   D   r2   r7   c                   @   r.   )APIBadArgsFormatN)r!   r,   r-   r   E_API_BAD_ARGS_FORMATr1   r   r   r   r   r9   H   r2   r9   N)uaclientr   uaclient.api.data_typesr   r   uaclient.exceptionsr   uaclient.utilr   uaclient.versionr   	Exceptionr+   r   r/   r3   r5   r7   r9   r   r   r   r   <module>   s    ,