� ��^c@s\dZddlmZddlmZmZdefd��YZdefd��YZd S( sO requests.structures ~~~~~~~~~~~~~~~~~~~ Data structures that power Requests. i����(t OrderedDicti(tMappingtMutableMappingtCaseInsensitiveDictcBskeZdZd d�Zd�Zd�Zd�Zd�Zd�Z d�Z d�Z d �Z d �Z RS( s�A case-insensitive ``dict``-like object. Implements all methods and operations of ``MutableMapping`` as well as dict's ``copy``. Also provides ``lower_items``. All keys are expected to be strings. The structure remembers the case of the last key to be set, and ``iter(instance)``, ``keys()``, ``items()``, ``iterkeys()``, and ``iteritems()`` will contain case-sensitive keys. However, querying and contains testing is case insensitive:: cid = CaseInsensitiveDict() cid['Accept'] = 'application/json' cid['aCCEPT'] == 'application/json' # True list(cid) == ['Accept'] # True For example, ``headers['content-encoding']`` will return the value of a ``'Content-Encoding'`` response header, regardless of how the header name was originally stored. If the constructor, ``.update``, or equality comparison operations are given keys that have equal ``.lower()``s, the behavior is undefined. cKs5t�|_|dkr!i}n|j||�dS(N(Rt_storetNonetupdate(tselftdatatkwargs((s5/tmp/pip-build-1THPZW/requests/requests/structures.pyt__init__*s   cCs||f|j|j�<s(Rtvalues(R((s5/tmp/pip-build-1THPZW/requests/requests/structures.pyt__iter__;scCs t|j�S(N(tlenR(R((s5/tmp/pip-build-1THPZW/requests/requests/structures.pyt__len__>scCsd�|jj�D�S(s.Like iteritems(), but with all lowercase keys.css%|]\}}||dfVqdS(iN((Rtlowerkeytkeyval((s5/tmp/pip-build-1THPZW/requests/requests/structures.pys Ds(Rtitems(R((s5/tmp/pip-build-1THPZW/requests/requests/structures.pyt lower_itemsAscCsDt|t�rt|�}ntSt|j��t|j��kS(N(t isinstanceRRtNotImplementedtdictR(Rtother((s5/tmp/pip-build-1THPZW/requests/requests/structures.pyt__eq__IscCst|jj��S(N(RRR(R((s5/tmp/pip-build-1THPZW/requests/requests/structures.pytcopyRscCstt|j���S(N(tstrRR(R((s5/tmp/pip-build-1THPZW/requests/requests/structures.pyt__repr__UsN(t__name__t __module__t__doc__RR RRRRRRR R!R#(((s5/tmp/pip-build-1THPZW/requests/requests/structures.pyRs        t LookupDictcBs8eZdZdd�Zd�Zd�Zdd�ZRS(sDictionary lookup object.cCs ||_tt|�j�dS(N(tnametsuperR'R (RR(((s5/tmp/pip-build-1THPZW/requests/requests/structures.pyR \s cCs d|jS(Ns (R((R((s5/tmp/pip-build-1THPZW/requests/requests/structures.pyR#`scCs|jj|d�S(N(t__dict__tgetR(RR ((s5/tmp/pip-build-1THPZW/requests/requests/structures.pyRcscCs|jj||�S(N(R*R+(RR tdefault((s5/tmp/pip-build-1THPZW/requests/requests/structures.pyR+hsN(R$R%R&RR R#RR+(((s5/tmp/pip-build-1THPZW/requests/requests/structures.pyR'Ys    N( R&t collectionsRtcompatRRRRR'(((s5/tmp/pip-build-1THPZW/requests/requests/structures.pytsJ