Viewing File: /opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/urllib3/__pycache__/fields.cpython-35.pyc
t_i! @ s d d l m Z d d l Z d d l Z d d l Z d d l m Z d d d Z d d Z d
d d d
d d
i Z
e
j d d e d d D d d Z
d d Z e Z Gd d d e Z d S) )absolute_importN )sixzapplication/octet-streamc C s! | r t 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 ) mimetypes
guess_type)filenamedefault r /builddir/build/BUILDROOT/alt-python35-pip-20.2.4-1.el7.x86_64/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/urllib3/fields.pyguess_content_type s r c s t t j r! j d t f d d d D s d | f } y | j d Wn t t f k
r{ Yn X| St j r j d t j
j d d | f t j r j d 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 | ] } | k Vq d S)Nr ).0ch)valuer r
<genexpr>) s z.format_header_param_rfc2231.<locals>.<genexpr>z"\
z%s="%s"asciiz%s*=%s)
isinstancer binary_typedecodeanyencodeUnicodeEncodeErrorUnicodeDecodeErrorPY2emailutilsencode_rfc2231)namer resultr )r r
format_header_param_rfc2231 s r "z%22\z\\c C s7 i | ]- } | d k r d j | t j | q S) z%{:02X})r! )formatr unichr)r ccr r r
<dictcomp>I s r% c sS f d d } t j d j d d j D } | j | | } | S)Nc s | j d S)Nr )group)match)needles_and_replacementsr r
replacerR s z#_replace_multiple.<locals>.replacer|c S s g | ] } t j | q Sr )reescape)r needler r r
<listcomp>V s z%_replace_multiple.<locals>.<listcomp>)r, compilejoinkeyssub)r r) r* patternr r )r) r
_replace_multipleQ s
%r5 c C s>