Viewing File: /opt/alt/python38/lib/python3.8/site-packages/urllib3/__pycache__/filepost.cpython-38.pyc

U

ØÕ`ˆ	ã@sˆddlmZddlZddlZddlZddlmZddlmZddl	m
Z
ddlmZe 
d¡d	Zd
d„Zdd
„Zdd„Zddd„ZdS)é)Úabsolute_importN)ÚBytesIOé)ÚRequestField)Úsix)Úbzutf-8écCs$t t d¡¡}tjs | d¡}|S)zN
    Our embarrassingly-simple replacement for mimetools.choose_boundary.
    éÚascii)ÚbinasciiZhexlifyÚosÚurandomrZPY2Údecode)Úboundary©rúA/opt/alt/python38/lib/python3.8/site-packages/urllib3/filepost.pyÚchoose_boundarys
rccsJt|tƒrt |¡}nt|ƒ}|D]"}t|tƒr8|Vq"tj|ŽVq"dS)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„t |¡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|]\}}||fVqdSrrrrrrr <s)rrrr)rrrrÚiter_fields-s
r!cCs¸tƒ}|dkrtƒ}t|ƒD]p}| td|ƒ¡t|ƒ | ¡¡|j}t|t	ƒr\t
|ƒ}t|tjƒrxt|ƒ |¡n
| |¡| d¡q| td|ƒ¡t
d|ƒ}| 
¡|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$Zcontent_typerrrÚencode_multipart_formdata?s 

r()N)Z
__future__rrÚcodecsrÚiorrrZpackagesrZpackages.sixrÚlookupr#rrr!r(rrrrÚ<module>s

Back to Directory File Manager