File: //opt/alt/python35/lib64/python3.5/site-packages/aiohttp/__pycache__/formdata.cpython-35.opt-1.pyc
���Z� � @ s{ d d l Z d d l m Z d d l m Z m Z d d l m Z m Z m Z d d l
m Z d Z Gd d � d � Z
d S)
� N)� urlencode)� MultiDict�MultiDictProxy� )�hdrs� multipart�payload)�guess_filename�FormDatac @ s� e Z d Z d Z f d d d d � Z e d d � � Z d d d d d
d d d � Z d
d � Z d d � Z d d � Z
d d � Z d S)r
z_Helper class for multipart/form-data and
application/x-www-form-urlencoded body generation.TNc C s� t j d � | _ g | _ d | _ | | _ | | _ t | t � rZ t | j
� � } n t | t t f � sx | f } | j | � d S)Nz form-dataF)
r ZMultipartWriter�_writer�_fields�
_is_multipart�
_quote_fields�_charset�
isinstance�dict�list�items�tuple�
add_fields)�self�fields�quote_fields�charset� r �/formdata.py�__init__ s zFormData.__init__c C s | j S)N)r
)r r r r �is_multipart s zFormData.is_multipart�content_type�filename�content_transfer_encodingc C s� t | t j � r d | _ n6 t | t t t f � rT | d k rT | d k rT | } t d | i � } | d k r� t | t � r� t d | � � | d k r� t | t j � r� t
| | � } | d k r� | | d <d | _ i } | d k r%t | t � st d | � � | | t j <d | _ | d k rft | t � sPt d | � � | | t j
<d | _ | j j | | | f � d S)NT�namez,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)r �io�IOBaser
�bytes� bytearray�
memoryviewr �str� TypeErrorr r �CONTENT_TYPEZCONTENT_TRANSFER_ENCODINGr �append)r r! �valuer r r �type_options�headersr r r � add_field"