U
    cc                     @   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)Request)DictListOptionalUnionAny)datetime)Taskc                       sn   e Zd ZdZddddddZd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 )LaunchRequestu  
    Represents that a user made a request to an Alexa skill, but did not provide a specific intent.


    :param request_id: Represents the unique identifier for the specific request.
    :type request_id: (optional) str
    :param timestamp: Provides the date and time when Alexa sent the request as an ISO 8601 formatted string. Used to verify the request when hosting your skill as a web service.
    :type timestamp: (optional) datetime
    :param locale: A string indicating the user’s locale. For example: en-US. This value is only provided with certain request types.
    :type locale: (optional) str
    :param task: 
    :type task: (optional) ask_sdk_model.task.Task

    strr	   zask_sdk_model.task.Task)object_type
request_id	timestamplocaletasktypeZ	requestIdr   r   r   FNc                    s2   d| _ | j | _tt| j| j |||d || _dS )u  Represents that a user made a request to an Alexa skill, but did not provide a specific intent.

        :param request_id: Represents the unique identifier for the specific request.
        :type request_id: (optional) str
        :param timestamp: Provides the date and time when Alexa sent the request as an ISO 8601 formatted string. Used to verify the request when hosting your skill as a web service.
        :type timestamp: (optional) datetime
        :param locale: A string indicating the user’s locale. For example: en-US. This value is only provided with certain request types.
        :type locale: (optional) str
        :param task: 
        :type task: (optional) ask_sdk_model.task.Task
        r   )r   r   r   r   N)Z#_LaunchRequest__discriminator_valuer   superr   __init__r   )selfr   r   r   r   	__class__ @/tmp/pip-unpacked-wheel-urk6bcke/ask_sdk_model/launch_request.pyr   >   s    zLaunchRequest.__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>Z   s   z'LaunchRequest.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    d   s
    )six	iteritemsdeserialized_typesgetattrr   listmapr   r   r   r   dictitems)r   resultattr_r   r   r   r   r   Q   s&    





zLaunchRequest.to_dictc                 C   s   t |  S )z.Returns the string representation of the model)pprintpformatr   r   r   r   r   to_stro   s    zLaunchRequest.to_strc                 C   s   |   S )zFor `print` and `pprint`)r1   r0   r   r   r   __repr__t   s    zLaunchRequest.__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__y   s    
zLaunchRequest.__eq__c                 C   s
   | |k S )z*Returns true if both objects are not equalr   r4   r   r   r   __ne__   s    zLaunchRequest.__ne__)NNNN)__name__
__module____qualname____doc__r%   Zattribute_mapZsupports_multiple_typesr   r   r1   r2   r6   r7   __classcell__r   r   r   r   r      s(   	r   )r.   rer#   typingenumr   Zask_sdk_model.requestr   TYPE_CHECKINGr   r   r   r   r   r	   Zask_sdk_model.taskr
   ZTask_8012f71er   r   r   r   r   <module>   s   