3
ƒ”Reˆ ã @ sˆ d dl mZ d dlZd dlZd dlZd dlmZ ddlmZ ddl m
Z
ddlmZ ej
dƒd Zd
d„ Zdd
„ Zdd„ Zddd„ZdS )é )Úabsolute_importN)ÚBytesIOé )Úsix)Úb)ÚRequestFieldzutf-8é c C s$ t jtjdƒƒ} tjs | jdƒ} | S )zN
Our embarrassingly-simple replacement for mimetools.choose_boundary.
é Úascii)ÚbinasciiÚhexlifyÚosÚurandomr ÚPY2Údecode)Úboundary© r ú‹/builddir/build/BUILDROOT/alt-python36-pip-20.2.4-5.el9.x86_64/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/urllib3/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 Úfrom_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 ú