Your IP : 216.73.216.213


Current Path : /opt/alt/python35/lib/python3.5/site-packages/urllib3/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib/python3.5/site-packages/urllib3/__pycache__/filepost.cpython-35.pyc



[�	�@s�ddlmZddlZddlZddlZddlmZddlmZddl	m
Z
ddlmZej
d�d	Zd
d�Zdd
�Zdd�Zddd�ZdS)�)�absolute_importN)�BytesIO�)�six)�b)�RequestFieldzutf-8�cCs4tjtjd��}tjr0|jd�}|S)zN
    Our embarrassingly-simple replacement for mimetools.choose_boundary.
    ��ascii)�binascii�hexlify�os�urandomr�PY3�decode)�boundary�r�A/opt/alt/python35/lib/python3.5/site-packages/urllib3/filepost.py�choose_boundarys	rccsgt|t�r!tj|�}nt|�}x3|D]+}t|t�rQ|Vq4tj|�Vq4WdS)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�r)dd�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r!cCst�}|dkrt�}x�t|�D]�}|jtd|��t|�j|j��|j}t|t	�r�t
|�}t|tj�r�t|�j|�n
|j|�|jd�q+W|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�strr�	text_type�getvalue)rr�bodyrr$�content_typerrr�encode_multipart_formdata?s 			
r+)�
__future__rr�codecsr
�ior�packagesrZpackages.sixrrr�lookupr#rrr!r+rrrr�<module>s