U
    lHJe                     @   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
 eed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r4t| 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)versionZv1Zfailurer   Z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>)Z_schema_versionresultdataerrorswarnings)
isinstancer   APIErrorr   msgZmsg_code	__class____name__Zadditional_infostrr   appendr   ZWARN_NEW_VERSION_AVAILABLEformatr   r   sortedr   items)r   errorr   Z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                   @   s   e Zd ZejZdS )APIInvalidEndpointN)r   r$   r%   r   ZE_API_INVALID_ENDPOINT_formatted_msgr   r   r   r   r&   8   s   r&   c                   @   s   e Zd ZejZdS )APIMissingArgN)r   r$   r%   r   ZE_API_MISSING_ARGr'   r   r   r   r   r(   <   s   r(   c                   @   s   e Zd ZejZdS )APINoArgsForEndpointN)r   r$   r%   r   ZE_API_NO_ARG_FOR_ENDPOINTr'   r   r   r   r   r)   @   s   r)   c                   @   s   e Zd ZejZdS )APIJSONDataFormatErrorN)r   r$   r%   r   ZE_API_JSON_DATA_FORMAT_ERRORr'   r   r   r   r   r*   D   s   r*   c                   @   s   e Zd ZejZdS )APIBadArgsFormatN)r   r$   r%   r   ZE_API_BAD_ARGS_FORMATr'   r   r   r   r   r+   H   s   r+   N)Zuaclientr   Zuaclient.api.data_typesr   r   Zuaclient.exceptionsr   Zuaclient.utilr   Zuaclient.versionr   	Exceptionr#   r   r&   r(   r)   r*   r+   r   r   r   r   <module>   s   ,