ž 7’ReΠ c@s²ddlZddlZddlmZddlmZddlmZddlm Z ddl m Z ej dƒd Z d d „Zd d „Zdd„Zddd„ZdS(iN(uuuid4(uBytesIOi(usix(ub(u RequestFielduutf-8icCs tƒjS(uM Our embarassingly-simple replacement for mimetools.choose_boundary. (uuuid4uhex(((uG/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/urllib3/filepost.pyuchoose_boundarysuchoose_boundaryccsgt|tƒr!tj|ƒ}n t|ƒ}x3|D]+}t|tƒrQ|Vq4tj|ŒVq4WdS(u† Iterate over fields. Supports list of (k, v) tuples and dicts, and lists of :class:`~urllib3.fields.RequestField`. N(u isinstanceudictusixu iteritemsuiteru RequestFieldu from_tuples(ufieldsuiufield((uG/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/urllib3/filepost.pyuiter_field_objectss  uiter_field_objectscCs:t|tƒr)dd„tj|ƒDƒSdd„|DƒS(u- .. 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. css!|]\}}||fVqdS(N((u.0ukuv((uG/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/urllib3/filepost.pyu <suiter_fields..css!|]\}}||fVqdS(N((u.0ukuv((uG/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/urllib3/filepost.pyu >s(u isinstanceudictusixu iteritems(ufields((uG/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/urllib3/filepost.pyu iter_fields/s u iter_fieldscCstƒ}|dkr!tƒ}nx­t|ƒD]Ÿ}|jtd|ƒƒt|ƒj|jƒƒ|j}t |t ƒr‹t |ƒ}nt |t j ƒr³t|ƒj|ƒn |j|ƒ|jdƒq.W|jtd|ƒƒt d|ƒ}|jƒ|fS(uJ Encode a dictionary of ``fields`` using the multipart/form-data MIME format. :param fields: Dictionary of fields or list of (key, :class:`~urllib3.fields.RequestField`). :param boundary: If not specified, then a random boundary will be generated using :func:`mimetools.choose_boundary`. u--%s s u--%s-- u multipart/form-data; boundary=%sN(uBytesIOuNoneuchoose_boundaryuiter_field_objectsuwriteubuwriterurender_headersudatau isinstanceuintustrusixu text_typeugetvalue(ufieldsuboundaryubodyufieldudatau content_type((uG/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/urllib3/filepost.pyuencode_multipart_formdataAs     uencode_multipart_formdata(ucodecsu mimetypesuuuiduuuid4uiouBytesIOupackagesusixu packages.sixubufieldsu RequestFieldulookupuwriteruchoose_boundaryuiter_field_objectsu iter_fieldsuNoneuencode_multipart_formdata(((uG/tmp/pip-zej_zi-build/pip/_vendor/requests/packages/urllib3/filepost.pyus