o
    iX                     @   s   d dl Z d dlZd dlZd dlmZ d dlmZmZmZm	Z	 dejfddZ
ddd	Zd
d Zdee deeee	f ddf fddZdS )    N)OrderedDict)	GeneratorOptionalTupleAnydttimec                 C   sB   | j r| j | d urt|  }t|S t|  }t|S N)	tzinfo	utcoffsetcalendartimegmutctimetupletimemktime	timetupleint)r   utc_timestamp r   n/var/www/snowflake_co_dev_github/snow_flake_back_end_deploy/env/lib/python3.10/site-packages/stripe/_encode.py_encode_datetime   s
   r   %s[%s]c                 C   s,   t  }| D ]\}}|||| |f < q|S r   )r   items)keydatafmtdsubkeysubvaluer   r   r   _encode_nested_dict   s   r   c                 C   s   t | tjr
t| S | S r   )
isinstancedatetimer   )valuer   r   r   _json_encode_date_callback   s   r"   api_modereturnc                 c   s0   |   D ]\}}|d u rqt|dr||jfV  qt|ts$t|trYt|D ]/\}}|dkr2|nd||f }t|trRt||}t	||D ]	\}}	||	fV  qGq(||fV  q(qt|trst||}t	||D ]	\}
}|
|fV  qhqt|t
j
r|t|fV  qt|tr|t| fV  q||fV  qd S )N	stripe_idV2z%s[%d])r   hasattrr%   r   listtuple	enumeratedictr   _api_encoder    r   boolstrlower)r   r#   r   r!   isvencoded_keysubdictkvr   r   r   r   r   r,      s6   





r,   )r   )r   r    r   collectionsr   typingr   r   r   r   r   r   r"   r.   r,   r   r   r   r   <module>   s    
	