o
    0_Wc0&                     @   s   d dl Z d dlZd dlZd dlZd dlmZ ejrcd 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 d dlmZ d dlmZ d d	lmZ d d
l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)AlexaPresentationHtmlInterface)AlexaPresentationAplInterface)NavigationInterface)AudioPlayerInterface)AlexaPresentationApltInterface)AppLinkInterface)DisplayInterface)VideoAppInterface)GeolocationInterfacec                
   @   sv   e Zd ZdZdddddddd	d
d	Zddddddd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 )$SupportedInterfacesa5  
    An object listing each interface that the device supports. For example, if supportedInterfaces includes AudioPlayer {}, then you know that the device supports streaming audio using the AudioPlayer interface.


    :param alexa_presentation_apl: 
    :type alexa_presentation_apl: (optional) ask_sdk_model.interfaces.alexa.presentation.apl.alexa_presentation_apl_interface.AlexaPresentationAplInterface
    :param alexa_presentation_aplt: 
    :type alexa_presentation_aplt: (optional) ask_sdk_model.interfaces.alexa.presentation.aplt.alexa_presentation_aplt_interface.AlexaPresentationApltInterface
    :param alexa_presentation_html: 
    :type alexa_presentation_html: (optional) ask_sdk_model.interfaces.alexa.presentation.html.alexa_presentation_html_interface.AlexaPresentationHtmlInterface
    :param app_link: 
    :type app_link: (optional) ask_sdk_model.interfaces.applink.app_link_interface.AppLinkInterface
    :param audio_player: 
    :type audio_player: (optional) ask_sdk_model.interfaces.audioplayer.audio_player_interface.AudioPlayerInterface
    :param display: 
    :type display: (optional) ask_sdk_model.interfaces.display.display_interface.DisplayInterface
    :param video_app: 
    :type video_app: (optional) ask_sdk_model.interfaces.videoapp.video_app_interface.VideoAppInterface
    :param geolocation: 
    :type geolocation: (optional) ask_sdk_model.interfaces.geolocation.geolocation_interface.GeolocationInterface
    :param navigation: 
    :type navigation: (optional) ask_sdk_model.interfaces.navigation.navigation_interface.NavigationInterface

    znask_sdk_model.interfaces.alexa.presentation.apl.alexa_presentation_apl_interface.AlexaPresentationAplInterfacezqask_sdk_model.interfaces.alexa.presentation.aplt.alexa_presentation_aplt_interface.AlexaPresentationApltInterfacezqask_sdk_model.interfaces.alexa.presentation.html.alexa_presentation_html_interface.AlexaPresentationHtmlInterfacezDask_sdk_model.interfaces.applink.app_link_interface.AppLinkInterfacezPask_sdk_model.interfaces.audioplayer.audio_player_interface.AudioPlayerInterfacezCask_sdk_model.interfaces.display.display_interface.DisplayInterfacezGask_sdk_model.interfaces.videoapp.video_app_interface.VideoAppInterfacezOask_sdk_model.interfaces.geolocation.geolocation_interface.GeolocationInterfacezLask_sdk_model.interfaces.navigation.navigation_interface.NavigationInterface)	alexa_presentation_aplalexa_presentation_apltalexa_presentation_htmlapp_linkaudio_playerdisplay	video_appgeolocation
navigationzAlexa.Presentation.APLzAlexa.Presentation.APLTzAlexa.Presentation.HTMLZAppLinkZAudioPlayerZDisplayZVideoAppZGeolocationZ
NavigationFNc
           
      C   s@   d| _ || _|| _|| _|| _|| _|| _|| _|| _|	| _	dS )az  An object listing each interface that the device supports. For example, if supportedInterfaces includes AudioPlayer {}, then you know that the device supports streaming audio using the AudioPlayer interface.

        :param alexa_presentation_apl: 
        :type alexa_presentation_apl: (optional) ask_sdk_model.interfaces.alexa.presentation.apl.alexa_presentation_apl_interface.AlexaPresentationAplInterface
        :param alexa_presentation_aplt: 
        :type alexa_presentation_aplt: (optional) ask_sdk_model.interfaces.alexa.presentation.aplt.alexa_presentation_aplt_interface.AlexaPresentationApltInterface
        :param alexa_presentation_html: 
        :type alexa_presentation_html: (optional) ask_sdk_model.interfaces.alexa.presentation.html.alexa_presentation_html_interface.AlexaPresentationHtmlInterface
        :param app_link: 
        :type app_link: (optional) ask_sdk_model.interfaces.applink.app_link_interface.AppLinkInterface
        :param audio_player: 
        :type audio_player: (optional) ask_sdk_model.interfaces.audioplayer.audio_player_interface.AudioPlayerInterface
        :param display: 
        :type display: (optional) ask_sdk_model.interfaces.display.display_interface.DisplayInterface
        :param video_app: 
        :type video_app: (optional) ask_sdk_model.interfaces.videoapp.video_app_interface.VideoAppInterface
        :param geolocation: 
        :type geolocation: (optional) ask_sdk_model.interfaces.geolocation.geolocation_interface.GeolocationInterface
        :param navigation: 
        :type navigation: (optional) ask_sdk_model.interfaces.navigation.navigation_interface.NavigationInterface
        N)
Z)_SupportedInterfaces__discriminator_valuer   r   r   r   r   r   r   r   r   )
selfr   r   r   r   r   r   r   r   r    r   DD:\Flask\env\Lib\site-packages\ask_sdk_model/supported_interfaces.py__init__W   s   
zSupportedInterfaces.__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>   s    z-SupportedInterfaces.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
   )six	iteritemsdeserialized_typesgetattrr#   listmapr   r$   r"   r    dictitems)r   resultattr_r$   r   r   r   r    z   s&   





zSupportedInterfaces.to_dictc                 C   s   t |  S )z.Returns the string representation of the model)pprintpformatr    r   r   r   r   to_str   s   zSupportedInterfaces.to_strc                 C   s   |   S )zFor `print` and `pprint`)r7   r6   r   r   r   __repr__   s   zSupportedInterfaces.__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__   s   
zSupportedInterfaces.__eq__c                 C   s
   | |k S )z*Returns true if both objects are not equalr   r:   r   r   r   __ne__   s   
zSupportedInterfaces.__ne__)	NNNNNNNNN)__name__
__module____qualname____doc__r+   Zattribute_mapZsupports_multiple_typesr   r    r7   r8   r<   r=   r   r   r   r   r   %   s:    
#r   )*r4   rer)   typingenumr   TYPE_CHECKINGr   r   r   r   r   r   ZRask_sdk_model.interfaces.alexa.presentation.html.alexa_presentation_html_interfacer	   Z'AlexaPresentationHtmlInterface_b20f808fZPask_sdk_model.interfaces.alexa.presentation.apl.alexa_presentation_apl_interfacer
   Z&AlexaPresentationAplInterface_58fc19efZ8ask_sdk_model.interfaces.navigation.navigation_interfacer   ZNavigationInterface_aa96009bZ;ask_sdk_model.interfaces.audioplayer.audio_player_interfacer   ZAudioPlayerInterface_24d2b051ZRask_sdk_model.interfaces.alexa.presentation.aplt.alexa_presentation_aplt_interfacer   Z'AlexaPresentationApltInterface_95b3be2bZ3ask_sdk_model.interfaces.applink.app_link_interfacer   ZAppLinkInterface_4aa78e23Z2ask_sdk_model.interfaces.display.display_interfacer   ZDisplayInterface_c1477bd9Z5ask_sdk_model.interfaces.videoapp.video_app_interfacer   ZVideoAppInterface_f245c658Z:ask_sdk_model.interfaces.geolocation.geolocation_interfacer   ZGeolocationInterface_d5c5128dobjectr   r   r   r   r   <module>   s$   