%PDF- %PDF-
Direktori : /snap/core/17212/usr/lib/python3/dist-packages/urllib3/__pycache__/ |
Current File : //snap/core/17212/usr/lib/python3/dist-packages/urllib3/__pycache__/fields.cpython-35.pyc |
Rg� � @ si d d l m Z d d l Z d d l Z d d l Z d d d � Z d d � Z Gd d � d e � Z d S) � )�absolute_importNzapplication/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 )� mimetypesZ guess_type)�filename�default� r �0/usr/lib/python3/dist-packages/urllib3/fields.py�guess_content_type s r c s� t � f d d � d D� � sY d | � f } y | j d � Wn t k rT Yn X| St j sq � j d � � t j j � d � � d | � f � � S)a� Helper function to format and quote a single header parameter. Particularly useful for header parameters which might contain non-ASCII values, like file names. This follows RFC 2231, as suggested by 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 a unicode string. c 3 s | ] } | � k Vq d S)Nr )�.0Zch)�valuer r � <genexpr># s z&format_header_param.<locals>.<genexpr>z"\ z%s="%s"�asciizutf-8z%s*=%s)�any�encode�UnicodeEncodeError�sixZPY3�emailZutilsZencode_rfc2231)�namer �resultr )r r �format_header_param s r c @ ss e Z d Z d Z d d d d � Z e d d � � Z d d � Z d d � Z d d � Z d d d d d � Z d S)�RequestFieldaK A data container for request body parameters. :param name: The name of this request field. :param data: The data/value body. :param filename: An optional filename of the request field. :param headers: An optional dict-like object of headers to initially use for the field. Nc C s= | | _ | | _ | | _ i | _ | r9 t | � | _ d S)N)�_name� _filename�data�headers�dict)�selfr r r r r r r �__init__? s zRequestField.__init__c C s� t | t � rN t | � d k r3 | \ } } } q` | \ } } t | � } n d } d } | } | | | d | �} | j d | � | S)a� A :class:`~urllib3.fields.RequestField` factory from old-style tuple parameters. Supports constructing :class:`~urllib3.fields.RequestField` from parameter of key/value strings AND key/filetuple. A filetuple is a (filename, data, MIME type) tuple where the MIME type is optional. For example:: 'foo': 'bar', 'fakefile': ('foofile.txt', 'contents of foofile'), 'realfile': ('barfile.txt', open('realfile').read()), 'typedfile': ('bazfile.bin', open('bazfile').read(), 'image/jpeg'), 'nonamefile': 'contents of nonamefile field', Field names and filenames must be unicode. � Nr �content_type)� isinstance�tuple�lenr �make_multipart)�clsZ fieldnamer r r r Z request_paramr r r �from_tuplesG s zRequestField.from_tuplesc C s t | | � S)a Overridable helper function to format a single header parameter. :param name: The name of the parameter, a string expected to be ASCII only. :param value: The value of the parameter, provided as a unicode string. )r )r r r r r r �_render_parti s zRequestField._render_partc C sj g } | } t | t � r'