File: //usr/lib/python3/dist-packages/urllib3/__pycache__/filepost.cpython-310.pyc
o
    ��Yho	  �                   @   s�   d dl mZ d dlZd dlZd dlZd dlmZ ddlmZ d dl	Z	d dl	m
Z
 e�d�d Zd	d
� Z
dd� Zd
d� Zddd�ZdS )�    )�absolute_importN)�BytesIO�   )�RequestField)�bzutf-8�   c                  C   s$   t �t�d��} tjs| �d�} | S )zN
    Our embarrassingly-simple replacement for mimetools.choose_boundary.
    �   �ascii)�binascii�hexlify�os�urandom�six�PY2�decode)�boundary� r   �2/usr/lib/python3/dist-packages/urllib3/filepost.py�choose_boundary   s   
r   c                 c   sL   � t | t�rt�| �}nt| �}|D ]}t |t�r|V  qtj|� V  qdS )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� 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   ��.0�k�vr   r   r   �	<genexpr>:   �   � ziter_fields.<locals>.<genexpr>c                 s   r   r   r   r    r   r   r   r$   <