Viewing File: /opt/alt/python38/lib64/python3.8/site-packages/aiohttp/__pycache__/formdata.cpython-38.pyc

U

'7`@s~ddlZddlmZmZmZmZddlmZddlm	Z	m
Z
ddlmZm
Z
mZddlmZddlmZd	ZGd
ddZdS)N)AnyIterableListOptional)	urlencode)	MultiDictMultiDictProxy)hdrs	multipartpayload)guess_filename)Payload)FormDatac@seZdZdZdeeeeeddddZ	e
edd	d
Zddddeeeeeeeeddd
dZeddddZ
ejdddZejdddZedddZdS)rz_Helper class for multipart/form-data and
    application/x-www-form-urlencoded body generation.TN)fieldsquote_fieldscharsetreturncCsdtd|_g|_d|_d|_||_||_t|t	rBt
|}nt|t
tfsV|f}|j
|dS)N	form-dataF)rMultipartWriter_writer_fields
_is_multipart
_is_processed
_quote_fields_charset
isinstancedictlistitemstuple
add_fields)selfrrrrrC/opt/alt/python38/lib64/python3.8/site-packages/aiohttp/formdata.py__init__s
zFormData.__init__)rcCs|jSN)rr#rrr$is_multipart%szFormData.is_multipart)content_typefilenamecontent_transfer_encoding)namevaluer)r*r+rcCst|tjrd|_n$t|tttfr8|dkr8|dkr8|}td|i}|dk	rbt|tsbt	d||dkrt|tjrt
||}|dk	r||d<d|_i}|dk	rt|tst	d|||tj<d|_|dk	rt|tst	d|||tj
<d|_|j|||fdS)NTr,z,filename must be an instance of str. Got: %sr*z0content_type must be an instance of str. Got: %sz=content_transfer_encoding must be an instance of str. Got: %s)rioIOBaserbytes	bytearray
memoryviewrstr	TypeErrorr
r
CONTENT_TYPEZCONTENT_TRANSFER_ENCODINGrappend)r#r,r-r)r*r+type_optionsheadersrrr$	add_field)sB





zFormData.add_field)rrcGst|}|r|d}t|tjr:t|d}|||qt|ttfrX|	|
qt|ttfrt|dkr|\}}|||qt
d|qdS)NrunknownzxOnly io.IOBase, multidict and (name, file) pairs allowed, use .add_field() for passing more complex parameters, got {!r})rpoprr.r/r
r9rrextendr r!lenr4format)r#rZto_addZreckfprrr$r"Ws 

zFormData.add_fieldscCsng}|jD]\}}}||d|fq
|jdk	r8|jnd}|dkrJd}nd|}tjt|d|d|dS)Nr,zutf-8z!application/x-www-form-urlencodedz-application/x-www-form-urlencoded; charset=%sT)Zdoseqencoding)r))rr6rrBytesPayloadrencode)r#datar7_r-rr)rrr$_gen_form_urlencodedoszFormData._gen_form_urlencodedcCs|jrtd|jD]\}}}z<tj|krFtj||tj||jd}ntj|||jd}Wn:tk
r}zt	dt
|||f|W5d}~XYnX|r|jd	d|ji||j
dk	st|j
tjd|j|qd|_|jS)
zAEncode a list of fields using the multipart/form-data MIME formatz$Form data has been processed already)r)r8rB)r8rBz8Can not serialize value type: %r
 headers: %r
 value: %rNrrT)r)rRuntimeErrorrr
r5rZget_payloadr	Exceptionr4typeZset_content_dispositionrr8AssertionErrorZpopallZCONTENT_LENGTHrZappend_payload)r#Z
dispparamsr8r-partexcrrr$_gen_form_datasJ

zFormData._gen_form_datacCs|jr|S|SdSr&)rrNrGr'rrr$__call__szFormData.__call__)rTN)__name__
__module____qualname____doc__rrboolrr3r%propertyr(r9r"rrCrGrrrNrrOrrrr$rs6.%r)r.typingrrrrZurllib.parserZ	multidictrrr
rrZhelpersr
r__all__rrrrr$<module>s
Back to Directory File Manager