zmc
2023-10-12 ed135d79df12a2466b52dae1a82326941211dcc9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
U
I=®dˆ    ã@sˆddlmZddlZddlZddlZddlmZddlmZddl    m
Z
ddl m Z e  d¡d    Zd
d „Zd d „Zdd„Zddd„ZdS)é)Úabsolute_importN)ÚBytesIOé)Úsix)Úb)Ú RequestFieldzutf-8écCs$t t d¡¡}tjs | d¡}|S)zN
    Our embarrassingly-simple replacement for mimetools.choose_boundary.
    éÚascii)ÚbinasciiÚhexlifyÚosÚurandomrÚPY2Údecode)Úboundary©rúSD:\z\workplace\VsCode\pyvenv\venv\Lib\site-packages\pip/_vendor/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ÚiterrÚ from_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|t j ƒ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ÚwriterÚrender_headersÚdatarÚintÚstrrÚ    text_typeÚgetvalue)rrÚbodyrr(Ú content_typerrrÚencode_multipart_formdata?s   
 
  r/)N)Ú
__future__rr Úcodecsr ÚiorÚpackagesrZ packages.sixrrrÚlookupr&rrr$r/rrrrÚ<module>s