
    +h
                     2    d dl Z d dlZd dlZ G d de      Zy)    Nc                   |    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     R/var/www/html/venv/lib/python3.12/site-packages/stripe/multipart_data_generator.py__init__zMultipartDataGenerator.__init__   s-    JJL	 113$    c                 .   t        t        j                  j                  |            }|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readblobnamez&Content-Disposition: form-data; name="z"; filename=""z&Content-Type: application/octet-stream)dictstripeapi_requestor_api_encodeitems_writeparam_headerr   hasattrstrr   _write_file)r   paramskeyvaluefilenames        r   
add_paramsz!MultipartDataGenerator.add_params   sy   f**66v>? ,,. !	)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._writeB   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_fileN   s.    FF4??3M KK&	 r   c                 .    t        j                  dd      S )Nr   l            )randomrandintr&   s    r   r   z+MultipartDataGenerator._initialize_boundaryU   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 %%)N&$

'*r   r   )r9   r
   r   objectr   r@   r   r   <module>rB      s     	 O*V O*r   