o
ai @ s d dl mZ d dlZd dlZd dlZd dlmZ ddlmZ ddl m
Z
ddlmZ e
dd Zd
d Zdd
Zdd ZdddZdS ) )absolute_importN)BytesIO )RequestField)six)bzutf-8 c C s$ t td} tjs| d} | S )zN
Our embarrassingly-simple replacement for mimetools.choose_boundary.
ascii)binasciihexlifyosurandomr PY2decode)boundary r /builddir/build/BUILDROOT/alt-python310-pip-21.3.1-5.el8.x86_64/opt/alt/python310/lib/python3.10/site-packages/pip/_vendor/urllib3/filepost.pychoose_boundary s
r c c sL t | trt| }nt| }|D ]}t |tr|V qtj| V qdS )z
Iterate over fields.
Supports list of (k, v) tuples and dicts, and lists of
:class:`~urllib3.fields.RequestField`.
N)
isinstancedictr iteritemsiterr from_tuples)fieldsifieldr r r iter_field_objects s
r c C s, t | trdd t| 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 | ] \}}||fV qd S Nr .0kvr r r