o
    1_Wc•  ã                   @   sz   d dl Z d dlZd dlZd dlZd dlmZ ejr3d 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)ÚStatusc                   @   sb   e Zd ZdZdddddœZ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 )ÚTransactionsa7  

    :param status: 
    :type status: (optional) ask_sdk_model.services.monetization.status.Status
    :param product_id: Product Id
    :type product_id: (optional) str
    :param created_time: Time at which transaction&#39;s was initiated in ISO 8601 format i.e. yyyy-MM-dd&#39;T&#39;HH:mm:ss.SSS&#39;Z&#39;
    :type created_time: (optional) datetime
    :param last_modified_time: Time at which transaction&#39;s status was last updated in ISO 8601 format i.e. yyyy-MM-dd&#39;T&#39;HH:mm:ss.SSS&#39;Z&#39;
    :type last_modified_time: (optional) datetime

    z1ask_sdk_model.services.monetization.status.StatusÚstrr   )ÚstatusÚ
product_idÚcreated_timeÚlast_modified_timer   Z	productIdZcreatedTimeZlastModifiedTimeFNc                 C   s"   d| _ || _|| _|| _|| _dS )aZ  

        :param status: 
        :type status: (optional) ask_sdk_model.services.monetization.status.Status
        :param product_id: Product Id
        :type product_id: (optional) str
        :param created_time: Time at which transaction&#39;s was initiated in ISO 8601 format i.e. yyyy-MM-dd&#39;T&#39;HH:mm:ss.SSS&#39;Z&#39;
        :type created_time: (optional) datetime
        :param last_modified_time: Time at which transaction&#39;s status was last updated in ISO 8601 format i.e. yyyy-MM-dd&#39;T&#39;HH:mm:ss.SSS&#39;Z&#39;
        :type last_modified_time: (optional) datetime
        N)Z"_Transactions__discriminator_valuer   r   r   r   )Úselfr   r   r   r   © r   úRD:\Flask\env\Lib\site-packages\ask_sdk_model/services/monetization/transactions.pyÚ__init__9   s
   
zTransactions.__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>V   s    z&Transactions.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   M   s&   

ý


û
zTransactions.to_dictc                 C   s   t  |  ¡ ¡S )z.Returns the string representation of the model)ÚpprintÚpformatr   ©r   r   r   r   Úto_strk   s   zTransactions.to_strc                 C   s   |   ¡ S )zFor `print` and `pprint`)r+   r*   r   r   r   Ú__repr__p   s   zTransactions.__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__u   s   
zTransactions.__eq__c                 C   s
   | |k S )z*Returns true if both objects are not equalr   r.   r   r   r   Ú__ne__}   s   
zTransactions.__ne__)NNNN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Zattribute_mapZsupports_multiple_typesr   r   r+   r,   r0   r1   r   r   r   r   r
      s&    üü
r
   )r(   Úrer   ÚtypingÚenumr   ÚTYPE_CHECKINGr   r   r   r   r   r   Z*ask_sdk_model.services.monetization.statusr	   ZStatus_dffc19e9Úobjectr
   r   r   r   r   Ú<module>   s   