B /Wb` @sDdZddlmZddlmZmZGdddeZGdddeZd S) zO requests.structures ~~~~~~~~~~~~~~~~~~~ Data structures that power Requests. ) OrderedDict)MappingMutableMappingc@sbeZdZdZdddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ dS)CaseInsensitiveDictaA 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_storeupdate)selfdatakwargsr :/tmp/pip-target-ju3w756n/lib/python/requests/structures.py__init__(szCaseInsensitiveDict.__init__cCs||f|j|<dS)N)rlower)r keyvaluer r r __setitem__.szCaseInsensitiveDict.__setitem__cCs|j|dS)Nr)rr)r rr r r __getitem__3szCaseInsensitiveDict.__getitem__cCs|j|=dS)N)rr)r rr r r __delitem__6szCaseInsensitiveDict.__delitem__cCsdd|jDS)Ncss|]\}}|VqdS)Nr ).0casedkey mappedvaluer r r :sz/CaseInsensitiveDict.__iter__..)rvalues)r r r r __iter__9szCaseInsensitiveDict.__iter__cCs t|jS)N)lenr)r r r r __len__<szCaseInsensitiveDict.__len__cCsdd|jDS)z.Like iteritems(), but with all lowercase keys.css|]\}}||dfVqdS)rNr )rlowerkeykeyvalr r r rAsz2CaseInsensitiveDict.lower_items..)ritems)r r r r lower_items?szCaseInsensitiveDict.lower_itemscCs0t|trt|}ntSt|t|kS)N) isinstancerrNotImplementeddictr )r otherr r r __eq__Cs  zCaseInsensitiveDict.__eq__cCst|jS)N)rrr)r r r r copyLszCaseInsensitiveDict.copycCstt|S)N)strr#r)r r r r __repr__OszCaseInsensitiveDict.__repr__)N)__name__ __module__ __qualname____doc__rrrrrrr r%r&r(r r r r r s  rcs<eZdZdZd fdd ZddZddZd d d ZZS) LookupDictzDictionary lookup object.Ncs||_tdS)N)namesuperr)r r.) __class__r r rVszLookupDict.__init__cCsd|jdS)Nz )r.)r r r r r(ZszLookupDict.__repr__cCs|j|dS)N)__dict__get)r rr r r r]szLookupDict.__getitem__cCs|j||S)N)r1r2)r rdefaultr r r r2bszLookupDict.get)N)N) r)r*r+r,rr(rr2 __classcell__r r )r0r r-Ss r-N) r, collectionsrcompatrrrr#r-r r r r s F