File: //lib/python3.6/site-packages/urllib3/__pycache__/fields.cpython-36.pyc
3
��v_Z! � @ s� d dl mZ d dlZd dlZd dlZd dlZddd�Zdd� Zdd d d
�Z e j
dd� ed d�D �� dd� Zdd� Z
e
ZG dd� de�ZdS )� )�absolute_importN�application/octet-streamc C s | rt j| �d p|S |S )z�
Guess the "Content-Type" of a file.
:param filename:
The filename to guess the "Content-Type" of using :mod:`mimetypes`.
:param default:
If no "Content-Type" can be guessed, default to `default`.
r )� mimetypesZ
guess_type)�filename�default� r �/usr/lib/python3.6/fields.py�guess_content_type s r c s� t � tj�r� jd�� t� fdd�dD ��sdd| � f }y|jd� W n ttfk
r^ Y nX |S tjrt� jd�� t j
j� d�� d| � f � tjr�� jd�� � S )a�
Helper function to format and quote a single header parameter using the
strategy defined in RFC 2231.
Particularly useful for header parameters which might contain
non-ASCII values, like file names. This follows RFC 2388 Section 4.4.
:param name:
The name of the parameter, a string expected to be ASCII only.
:param value:
The value of the parameter, provided as ``bytes`` or `str``.
:ret:
An RFC-2231-formatted unicode string.
zutf-8c 3 s | ]}|� kV qd S )Nr )�.0Zch)�valuer r � <genexpr>) s z.format_header_param_rfc2231.<locals>.<genexpr>z"\
z%s="%s"�asciiz%s*=%s)�
isinstance�six�binary_type�decode�any�encode�UnicodeEncodeError�UnicodeDecodeErrorZPY2�emailZutilsZencode_rfc2231)�namer �resultr )r r �format_header_param_rfc2231 s
r z%22z\\)�"�\r c C s&