Viewing File: /usr/lib/python3.6/site-packages/pip/_vendor/urllib3/__pycache__/filepost.cpython-36.pyc

3

£éaj	ã@s„ddlmZddlZddlmZddlmZddlmZddl	m
Z
ddlmZej
d	ƒd
Zdd„Zd
d„Zdd„Zddd„ZdS)é)Úabsolute_importN)Úuuid4)ÚBytesIOé)Úsix)Úb)ÚRequestFieldzutf-8écCstƒjS)zN
    Our embarrassingly-simple replacement for mimetools.choose_boundary.
    )rÚhex©rrú/usr/lib/python3.6/filepost.pyÚchoose_boundarysr
ccsNt|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>6sziter_fields.<locals>.<genexpr>css|]\}}||fVqdS)Nr)rrrrrrr8s)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)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)rr
rÚwriterÚwriterZrender_headersÚdatarÚintÚstrrZ	text_typeÚgetvalue)rÚboundaryZbodyrrZcontent_typerrrÚencode_multipart_formdata;s 

r")N)Z
__future__rÚcodecsZuuidrÚiorZpackagesrZpackages.sixrrrÚlookuprr
rrr"rrrrÚ<module>s
Back to Directory File Manager