U
    cc                     @   s   d dl Z d dlZd dlZd dl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 d dlmZ G dd deZdS )	    N)Enum)DictListOptionalUnionAny)datetime)	Directive)OutputSpeechc                   @   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 )Repromptz

    :param output_speech: 
    :type output_speech: (optional) ask_sdk_model.ui.output_speech.OutputSpeech
    :param directives: 
    :type directives: (optional) list[ask_sdk_model.directive.Directive]

    z+ask_sdk_model.ui.output_speech.OutputSpeechz'list[ask_sdk_model.directive.Directive])output_speech
directivesZoutputSpeechr   FNc                 C   s   d| _ || _|| _dS )z

        :param output_speech: 
        :type output_speech: (optional) ask_sdk_model.ui.output_speech.OutputSpeech
        :param directives: 
        :type directives: (optional) list[ask_sdk_model.directive.Directive]
        N)Z_Reprompt__discriminator_valuer   r   )selfr   r    r   =/tmp/pip-unpacked-wheel-urk6bcke/ask_sdk_model/ui/reprompt.py__init__2   s    	zReprompt.__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"Reprompt.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Reprompt.to_dictc                 C   s   t |  S )z.Returns the string representation of the model)pprintpformatr   r   r   r   r   to_str^   s    zReprompt.to_strc                 C   s   |   S )zFor `print` and `pprint`)r)   r(   r   r   r   __repr__c   s    zReprompt.__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Reprompt.__eq__c                 C   s
   | |k S )z*Returns true if both objects are not equalr   r,   r   r   r   __ne__p   s    zReprompt.__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   Zask_sdk_model.directiver	   ZDirective_e3e6b000Zask_sdk_model.ui.output_speechr
   ZOutputSpeech_a070f8fbobjectr   r   r   r   r   <module>   s   