o
    0_Wc                     @   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r9d 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__ >D:\Flask\env\Lib\site-packages\ask_sdk_model/launch_request.pyr   >   s   
zLaunchRequest.__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>Z   s    z'LaunchRequest.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    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   