Spade
Mini Shell
�
v�Sc@s�ddlZddlmZddlmZddlmZddlmZddl m
Z
ejd�d Zd
�Z
d�Zd�Zdd
�ZdS(i����N(tuuid4(tBytesIOi(tsix(tb(tRequestFieldsutf-8icCs
t�jS(sM
Our embarassingly-simple replacement for mimetools.choose_boundary.
(Rthex(((s4/usr/lib/python2.7/site-packages/urllib3/filepost.pytchoose_boundary
sccsgt|t�r!tj|�}nt|�}x3|D]+}t|t�rQ|Vq4tj|�Vq4WdS(s�
Iterate over fields.
Supports list of (k, v) tuples and dicts, and lists of
:class:`~urllib3.fields.RequestField`.
N(t
isinstancetdictRt iteritemstiterRtfrom_tuples(tfieldstitfield((s4/usr/lib/python2.7/site-packages/urllib3/filepost.pytiter_field_objectss
cCs4t|t�r&d�tj|�D�Sd�|D�S(s-
.. 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((t.0tktv((s4/usr/lib/python2.7/site-packages/urllib3/filepost.pys <genexpr>5scss!|]\}}||fVqdS(N((RRR((s4/usr/lib/python2.7/site-packages/urllib3/filepost.pys <genexpr>7s(RRRR (R((s4/usr/lib/python2.7/site-packages/urllib3/filepost.pytiter_fields(scCst�}|dkr!t�}nx�t|�D]�}|jtd|��t|�j|j��|j}t |t
�r�t|�}nt |tj
�r�t|�j|�n
|j|�|jd�q.W|jtd|��td|�}|j�|fS(sJ
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`.
s--%s
s
s--%s--
s multipart/form-data;
boundary=%sN(RtNoneRRtwriteRtwritertrender_headerstdataRtinttstrRt text_typetgetvalue(RtboundarytbodyRRtcontent_type((s4/usr/lib/python2.7/site-packages/urllib3/filepost.pytencode_multipart_formdata:s
(tcodecstuuidRtioRtpackagesRtpackages.sixRRRtlookupRRRRRR
(((s4/usr/lib/python2.7/site-packages/urllib3/filepost.pyt<module>s