o
    ÙKÕiÜ  ã                   @   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    ,