3 _¨=\¥ ã@s<dZddlmZmZmZGdd„deƒZGdd„deƒZdS)zO requests.structures ~~~~~~~~~~~~~~~~~~~ Data structures that power Requests. é)Ú OrderedDictÚMappingÚMutableMappingc@sbeZdZdZddd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z dd„Z dd„Z dS)ÚCaseInsensitiveDictaÖ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. NcKs&tƒ|_|dkri}|j|f|ŽdS)N)rÚ_storeÚupdate)ÚselfÚdataÚkwargs©r úm/private/var/folders/47/550316q90kl84vt_jn5ctz8chwmm0c/T/pip-install-yoigbb1v/requests/requests/structures.pyÚ__init__(szCaseInsensitiveDict.__init__cCs||f|j|jƒ<dS)N)rÚlower)rÚkeyÚvaluer r r Ú __setitem__.szCaseInsensitiveDict.__setitem__cCs|j|jƒdS)Nr)rr)rrr r r Ú __getitem__3szCaseInsensitiveDict.__getitem__cCs|j|jƒ=dS)N)rr)rrr r r Ú __delitem__6szCaseInsensitiveDict.__delitem__cCsdd„|jjƒDƒS)Ncss|]\}}|VqdS)Nr )Ú.0ÚcasedkeyÚ mappedvaluer r r ú :sz/CaseInsensitiveDict.__iter__..)rÚvalues)rr r r Ú__iter__9szCaseInsensitiveDict.__iter__cCs t|jƒS)N)Úlenr)rr r r Ú__len__<szCaseInsensitiveDict.__len__cCsdd„|jjƒDƒS)z.Like iteritems(), but with all lowercase keys.css|]\}}||dfVqdS)rNr )rÚlowerkeyÚkeyvalr r r rBsz2CaseInsensitiveDict.lower_items..)rÚitems)rr r r Ú lower_items?szCaseInsensitiveDict.lower_itemscCs0t|tƒrt|ƒ}ntSt|jƒƒt|jƒƒkS)N)Ú isinstancerrÚNotImplementedÚdictr)rÚotherr r r Ú__eq__Gs  zCaseInsensitiveDict.__eq__cCst|jjƒƒS)N)rrr)rr r r ÚcopyPszCaseInsensitiveDict.copycCstt|jƒƒƒS)N)Ústrr"r)rr r r Ú__repr__SszCaseInsensitiveDict.__repr__)N)Ú__name__Ú __module__Ú __qualname__Ú__doc__r rrrrrrr$r%r'r r r r r s  rcs<eZdZdZd ‡fdd„ Zdd„Zdd„Zd d d „Z‡ZS) Ú LookupDictzDictionary lookup object.Ncs||_tt|ƒjƒdS)N)ÚnameÚsuperr,r )rr-)Ú __class__r r r ZszLookupDict.__init__cCs d|jS)Nz )r-)rr r r r'^szLookupDict.__repr__cCs|jj|dƒS)N)Ú__dict__Úget)rrr r r raszLookupDict.__getitem__cCs|jj||ƒS)N)r0r1)rrÚdefaultr r r r1fszLookupDict.get)N)N) r(r)r*r+r r'rr1Ú __classcell__r r )r/r r,Ws r,N)r+Úcompatrrrrr"r,r r r r ÚsJ