U
    ÍZjX  ã                   @   s†   d dl Z d dlZd dlZd dlZd dlmZ d dlmZ ejrrd dlm	Z	m
Z
mZmZmZ d dlmZ d dlmZ G dd„ deƒZdS )	é    N)ÚEnum)ÚCause)ÚDictÚListÚOptionalÚUnionÚAny)Údatetime)ÚStatusc                       sj   e Zd ZdZdddddœZdddd	dœZd
Zd‡ fdd„	Zdd„ Zdd„ Z	dd„ Z
dd„ Zdd„ Z‡  ZS )ÚConnectionCompleteda.  
    Represents the status and result needed to resume a skill&#39;s suspended session.


    :param token: This is an echo back string that skills send when during Connections.StartConnection directive. They will receive it when they get the SessionResumedRequest. It is never sent to the skill handling the request.
    :type token: (optional) str
    :param status: 
    :type status: (optional) ask_sdk_model.status.Status
    :param result: This is the result object to resume the skill&#39;s suspended session.
    :type result: (optional) object

    Ústrzask_sdk_model.status.StatusÚobject)Úobject_typeÚtokenÚstatusÚresultÚtyper   r   r   FNc                    s8   d| _ | j | _tt| ƒj| j d� || _|| _|| _dS )aC  Represents the status and result needed to resume a skill&#39;s suspended session.

        :param token: This is an echo back string that skills send when during Connections.StartConnection directive. They will receive it when they get the SessionResumedRequest. It is never sent to the skill handling the request.
        :type token: (optional) str
        :param status: 
        :type status: (optional) ask_sdk_model.status.Status
        :param result: This is the result object to resume the skill&#39;s suspended session.
        :type result: (optional) object
        r   )r   N)Z)_ConnectionCompleted__discriminator_valuer   Úsuperr   Ú__init__r   r   r   )Úselfr   r   r   ©Ú	__class__© úe/var/www/html/TRUCKING_PROJECT/venv/lib/python3.8/site-packages/ask_sdk_model/connection_completed.pyr   :   s    zConnectionCompleted.__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ƒr˜t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>V   s   z-ConnectionCompleted.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
    ÿÿ)ÚsixÚ	iteritemsÚdeserialized_typesÚgetattrr   ÚlistÚmapr   r   r   r   ÚdictÚitems)r   r   ÚattrÚ_r   r   r   r   r   M   s&    

ý


û
zConnectionCompleted.to_dictc                 C   s   t  |  ¡ ¡S )z.Returns the string representation of the model)ÚpprintÚpformatr   ©r   r   r   r   Úto_strk   s    zConnectionCompleted.to_strc                 C   s   |   ¡ S )zFor `print` and `pprint`)r0   r/   r   r   r   Ú__repr__p   s    zConnectionCompleted.__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__u   s    
zConnectionCompleted.__eq__c                 C   s
   | |k S )z*Returns true if both objects are not equalr   r3   r   r   r   Ú__ne__}   s    zConnectionCompleted.__ne__)NNN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r%   Zattribute_mapZsupports_multiple_typesr   r   r0   r1   r5   r6   Ú__classcell__r   r   r   r   r      s$   üür   )r-   Úrer#   ÚtypingÚenumr   Zask_sdk_model.causer   ÚTYPE_CHECKINGr   r   r   r   r   r	   Zask_sdk_model.statusr
   ZStatus_7705e43er   r   r   r   r   Ú<module>   s   