Viewing File: /usr/lib/python3.6/site-packages/pip/_vendor/urllib3/__pycache__/filepost.cpython-36.pyc
3
£éaj ã @ s„ d dl mZ d dlZd dlmZ d dlmZ ddlmZ ddl m
Z
ddlmZ ej
d ƒd
Zdd„ Zd
d„ Zdd„ Zddd„ZdS )é )Úabsolute_importN)Úuuid4)ÚBytesIOé )Úsix)Úb)ÚRequestFieldzutf-8é c C s t ƒ jS )zN
Our embarrassingly-simple replacement for mimetools.choose_boundary.
)r Úhex© r r ú/usr/lib/python3.6/filepost.pyÚchoose_boundary s r
c c sN t | tƒrtj| ƒ}nt| ƒ}x*|D ]"}t |tƒr:|V q$tj|Ž V q$W dS )z†
Iterate over fields.
Supports list of (k, v) tuples and dicts, and lists of
:class:`~urllib3.fields.RequestField`.
N)Ú
isinstanceÚdictr Ú iteritemsÚiterr Zfrom_tuples)ÚfieldsÚiÚfieldr r r Úiter_field_objects s
r c C s, t | tƒrdd„ tj| ƒD ƒS dd„ | 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.
c s s | ]\}}||fV qd S )Nr )Ú.0ÚkÚvr r r ú <genexpr>6 s ziter_fields.<locals>.<genexpr>c s s | ]\}}||fV qd S )Nr )r r r r r r r 8 s )r r r r )r r r r Úiter_fields) s
r c C s¼ 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 )aJ
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:`mimetools.choose_boundary`.
Nz--%s
s
z--%s--
z multipart/form-data; boundary=%s)r r
r Úwriter ÚwriterZrender_headersÚdatar ÚintÚstrr Z text_typeÚgetvalue)r ÚboundaryZbodyr r Zcontent_typer r r Úencode_multipart_formdata; s
r"