Your IP : 3.16.214.124
3
nf�\� �@s�ddlmZddlZddlZddlZddlmZddlmZddl m
Z
ddlmZej
d�d Zd
d�Zdd
�Zdd�Zddd�ZdS)�)�absolute_importN)�BytesIO�)�six)�b)�RequestFieldzutf-8�cCs$tjtjd��}tjr |jd�}|S)zN
Our embarrassingly-simple replacement for mimetools.choose_boundary.
��ascii)�binasciiZhexlify�os�urandomrZPY3�decode)�boundary�r�/usr/lib/python3.6/filepost.py�choose_boundarys
rccsNt|t�rtj|�}nt|�}x*|D]"}t|t�r:|Vq$tj|�Vq$WdS)z�
Iterate over fields.
Supports list of (k, v) tuples and dicts, and lists of
:class:`~urllib3.fields.RequestField`.
N)�
isinstance�dictr� iteritems�iterrZfrom_tuples)�fields�i�fieldrrr�iter_field_objectss
rcCs,t|t�rdd�tj|�D�Sdd�|D�S)a-
.. deprecated:: 1.6
Iterate over fields.
The addition of :class:`~urllib3.fields.RequestField` makes this function
obsolete. Instead, use :func:`iter_field_objects`, which returns
:class:`~urllib3.fields.RequestField` objects.
Supports list of (k, v) tuples and dicts.
css|]\}}||fVqdS)Nr)�.0�k�vrrr� <genexpr>:sziter_fields.<locals>.<genexpr>css|]\}}||fVqdS)Nr)rrrrrrr<s)rrrr)rrrr�iter_fields-s
rcCs�t�}|dkrt�}x|t|�D]p}|jtd|��t|�j|j��|j}t|t �r^t
|�}t|tj�rzt|�j|�n
|j|�|jd�qW|jtd|��t
d|�}|j
�|fS)aQ
Encode a dictionary of ``fields`` using the multipart/form-data MIME format.
:param fields:
Dictionary of fields or list of (key, :class:`~urllib3.fields.RequestField`).
:param boundary:
If not specified, then a random boundary will be generated using
:func:`urllib3.filepost.choose_boundary`.
Nz--%s
s
z--%s--
z multipart/form-data; boundary=%s)rrr�writer�writerZrender_headers�datar�int�strrZ text_type�getvalue)rrZbodyrr"Zcontent_typerrr�encode_multipart_formdata?s
r&)N)Z
__future__rr�codecsr�iorZpackagesrZpackages.sixrrr�lookupr!rrrr&rrrr�<module>s
?>