o
    0_Wc<  ã                   @   sn   d dl Z d dlZd dlZd dlZd dlmZ ejr-d 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   ú6D:\Flask\env\Lib\site-packages\ask_sdk_model/status.pyÚ__init__2   s   	
zStatus.__init__c                 C   s¦   i }t  | j¡D ]H\}}t| |ƒ}t|tƒr"ttdd„ |ƒƒ||< qt|tƒr-|j||< qt	|dƒr9| 
¡ ||< qt|tƒrLt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ƒr!| 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   