
    <@g
                     6    d dl Z d dlZd dlmZ  G d de      Zy)    N)_api_encodec                   |    e Zd ZU ej                  ed<   eed<   eed<   eed<   ddefdZd Z	d Z
d Zd	 Zd
 Zd Zy)MultipartDataGeneratordata
line_breakboundary
chunk_sizec                 |    t        j                         | _        d| _        | j	                         | _        || _        y )Nz
)ioBytesIOr   r   _initialize_boundaryr   r	   )selfr	   s     _/var/www/html/AdoubleTech/venv/lib/python3.12/site-packages/stripe/_multipart_data_generator.py__init__zMultipartDataGenerator.__init__   s-    JJL	 113$    c                    t        t        |d            }|j                         D ]  \  }}|
| j                  | j	                                | j                  | j
                         t        |d      rd}t        |d      rt        |j                        }| j                  d       | j                  |       | j                  d       | j                  |       | j                  d       | j                  | j
                         | j                  d       | j                  | j
                         | j                  | j
                         | j                  |       n| j                  d       | j                  |       | j                  d       | j                  | j
                         | j                  | j
                         | j                  t        |             | j                  | j
                          y )	NV1readblobnamez&Content-Disposition: form-data; name="z"; filename=""z&Content-Type: application/octet-stream)
dictr   items_writeparam_headerr   hasattrstrr   _write_file)r   paramskeyvaluefilenames        r   
add_paramsz!MultipartDataGenerator.add_params   sq    k&$/0 ,,. !	)JC}KK))+,KK(uf%!5&)  #5::HDEC O,H%C DOO,DEDOO,DOO,  'DEC C DOO,DOO,CJ'KK(C!	)r   c                      d| j                   z  S )Nz--%s)r   r   s    r   r   z#MultipartDataGenerator.param_header;   s    %%r   c                     | j                  d| j                  d       | j                  | j                         | j                  j	                         S )Nz--)r   r   r   r   getvaluer%   s    r   get_post_dataz$MultipartDataGenerator.get_post_data>   s8    /0DOO$yy!!##r   c                     t        |t              rt        |      }nBt        |t              rt        |d      }n$t	        dj                  t        |                  | j                  j                  |       y )Nzutf-8)encodingzunexpected type: {value_type})
value_type)	
isinstancebytes	bytearrayr   	TypeErrorformattyper   write)r   r!   arrays      r   r   zMultipartDataGenerator._writeC   s`    eU#e$Es#eg6E/66$u+6N  			r   c                 d    	 |j                  | j                        }|sy | j                  |       0)N)r   r	   r   )r   ffile_contentss      r   r   z"MultipartDataGenerator._write_fileO   s.    FF4??3M KK&	 r   c                 .    t        j                  dd      S )Nr   l            )randomrandintr%   s    r   r   z+MultipartDataGenerator._initialize_boundaryV   s    ~~a''r   N)i  )__name__
__module____qualname__r   r   __annotations__r   intr   r#   r   r(   r   r   r    r   r   r   r      sF    
**OMO%3 %&)P&$

'(r   r   )r8   r   stripe._encoder   objectr   r?   r   r   <module>rB      s     	 &P(V P(r   