U
    ccA                     @   sz   d dl Z d dlZd dlZd dlZd dlmZ ejrfd 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)DictListOptionalUnionAny)datetime)PermissionStatusc                   @   sV   e Zd ZdZddiZddiZdZdddZdd	 Zd
d Z	dd Z
dd Zdd ZdS )Scopea	  
    This is the value of LoginWithAmazon(LWA) consent scope. This object is used as in the key-value pairs that are provided in user.permissions.scopes object


    :param status: 
    :type status: (optional) ask_sdk_model.permission_status.PermissionStatus

    statusz0ask_sdk_model.permission_status.PermissionStatusFNc                 C   s   d| _ || _dS )a  This is the value of LoginWithAmazon(LWA) consent scope. This object is used as in the key-value pairs that are provided in user.permissions.scopes object

        :param status: 
        :type status: (optional) ask_sdk_model.permission_status.PermissionStatus
        N)Z_Scope__discriminator_valuer   )selfr    r   7/tmp/pip-unpacked-wheel-urk6bcke/ask_sdk_model/scope.py__init__/   s    zScope.__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>C   s   zScope.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   M   s
    )six	iteritemsdeserialized_typesgetattrr   listmapr   r   r   r   dictitems)r   resultattr_r   r   r   r   r   :   s&    





zScope.to_dictc                 C   s   t |  S )z.Returns the string representation of the model)pprintpformatr   r   r   r   r   to_strX   s    zScope.to_strc                 C   s   |   S )zFor `print` and `pprint`)r'   r&   r   r   r   __repr__]   s    zScope.__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__b   s    
zScope.__eq__c                 C   s
   | |k S )z*Returns true if both objects are not equalr   r*   r   r   r   __ne__j   s    zScope.__ne__)N)__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.permission_statusr	   ZPermissionStatus_ea4afa1dobjectr
   r   r   r   r   <module>   s   