a
t~®`ˆ ã @ sˆ d dl mZ d dlZd dlZd dlZd dlmZ ddlmZ ddl m
Z
ddlmZ e
d¡d Zd
d„ Zdd
„ Zdd„ Zddd„ZdS )é )Úabsolute_importN)ÚBytesIOé )ÚRequestField)Úsix)Úbzutf-8é c C s$ t t d¡¡} tjs | d¡} | S )zN
Our embarrassingly-simple replacement for mimetools.choose_boundary.
é Úascii)ÚbinasciiZhexlifyÚosÚurandomr ZPY2Údecode)Úboundary© r ú4/usr/lib/python3.9/site-packages/urllib3/filepost.pyÚchoose_boundary s
r c c sJ t | tƒrt | ¡}nt| ƒ}|D ]"}t |tƒr8|V q"tj|Ž V q"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 Zfrom_tuples)ÚfieldsÚiÚfieldr r r Úiter_field_objects s
r c C s, t | tƒrdd„ 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 s | ]\}}||fV qd S ©Nr ©Ú.0ÚkÚvr r r Ú