U
    cc<                     @   sn   d dl Z d dlZd dlZd dlZd dlmZ ejrZd dlmZmZm	Z	m
Z
mZ d dlmZ G dd deZdS )    N)Enum)DictListOptionalUnionAny)datetimec                   @   sZ   e Zd ZdZdddZdddZdZddd	Zd
d Zdd Z	dd Z
dd Zdd ZdS )Statusa  
    Status indicates a high level understanding of the result of an execution.


    :param code: This is a code signifying the status of the execution initiated by the skill. Protocol adheres to HTTP status codes.
    :type code: (optional) str
    :param message: This is a message that goes along with response code that can provide more information about what occurred.
    :type message: (optional) str

    str)codemessager   r   FNc                 C   s   d| _ || _|| _dS )a  Status indicates a high level understanding of the result of an execution.

        :param code: This is a code signifying the status of the execution initiated by the skill. Protocol adheres to HTTP status codes.
        :type code: (optional) str
        :param message: This is a message that goes along with response code that can provide more information about what occurred.
        :type message: (optional) str
        N)Z_Status__discriminator_valuer   r   )selfr   r    r   8/tmp/pip-unpacked-wheel-urk6bcke/ask_sdk_model/status.py__init__2   s    	zStatus.__init__c                 C   s   i }t | jD ]\}}t| |}t|trDttdd |||< qt|trZ|j||< qt	|drr|
 ||< qt|trttdd | ||< q|||< q|S )z&Returns the model properties as a dictc                 S   s&   t | dr|  S t| tr"| jS | S )Nto_dicthasattrr   
isinstancer   value)xr   r   r   <lambda>I   s   z Status.to_dict.<locals>.<lambda>r   c                 S   sF   t | d dr"| d | d  fS t| d trB| d | d jfS | S )N   r   r   r   )itemr   r   r   r   S   s
    )six	iteritemsdeserialized_typesgetattrr   listmapr   r   r   r   dictitems)r   resultattr_r   r   r   r   r   @   s&    





zStatus.to_dictc                 C   s   t |  S )z.Returns the string representation of the model)pprintpformatr   r   r   r   r   to_str^   s    zStatus.to_strc                 C   s   |   S )zFor `print` and `pprint`)r(   r'   r   r   r   __repr__c   s    zStatus.__repr__c                 C   s   t |tsdS | j|jkS )z&Returns true if both objects are equalF)r   r	   __dict__r   otherr   r   r   __eq__h   s    
zStatus.__eq__c                 C   s
   | |k S )z*Returns true if both objects are not equalr   r+   r   r   r   __ne__p   s    zStatus.__ne__)NN)__name__
__module____qualname____doc__r   Zattribute_mapZsupports_multiple_typesr   r   r(   r)   r-   r.   r   r   r   r   r	      s   
r	   )r%   rer   typingenumr   TYPE_CHECKINGr   r   r   r   r   r   objectr	   r   r   r   r   <module>   s   