ó
g#ñ]c           @   sR   d  Z  d d l m Z m Z m Z d e f d     YZ d e f d     YZ d S(   sO   
requests.structures
~~~~~~~~~~~~~~~~~~~

Data structures that power Requests.
i   (   t   OrderedDictt   Mappingt   MutableMappingt   CaseInsensitiveDictc           B   sk   e  Z d  Z d d  Z d   Z d   Z d   Z d   Z d   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.
    c         K   s5   t    |  _ | d  k r! i  } n  |  j | |  d  S(   N(   R    t   _storet   Nonet   update(   t   selft   datat   kwargs(    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/requests/structures.pyt   __init__(   s    	c         C   s   | | f |  j  | j   <d  S(   N(   R   t   lower(   R   t   keyt   value(    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/requests/structures.pyt   __setitem__.   s    c         C   s   |  j  | j   d S(   Ni   (   R   R   (   R   R   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/requests/structures.pyt   __getitem__3   s    c         C   s   |  j  | j   =d  S(   N(   R   R   (   R   R   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/requests/structures.pyt   __delitem__6   s    c         C   s   d   |  j  j   D S(   Nc         s   s   |  ] \ } } | Vq d  S(   N(    (   t   .0t   casedkeyt   mappedvalue(    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/requests/structures.pys	   <genexpr>:   s    (   R   t   values(   R   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/requests/structures.pyt   __iter__9   s    c         C   s   t  |  j  S(   N(   t   lenR   (   R   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/requests/structures.pyt   __len__<   s    c         C   s   d   |  j  j   D S(   s.   Like iteritems(), but with all lowercase keys.c         s   s%   |  ] \ } } | | d  f Vq d S(   i   N(    (   R   t   lowerkeyt   keyval(    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/requests/structures.pys	   <genexpr>B   s   (   R   t   items(   R   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/requests/structures.pyt   lower_items?   s    c         C   sD   t  | t  r t |  } n t St |  j    t | j    k S(   N(   t
   isinstanceR   R   t   NotImplementedt   dictR   (   R   t   other(    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/requests/structures.pyt   __eq__G   s    c         C   s   t  |  j j    S(   N(   R   R   R   (   R   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/requests/structures.pyt   copyP   s    c         C   s   t  t |  j     S(   N(   t   strR   R   (   R   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/requests/structures.pyt   __repr__S   s    N(   t   __name__t
   __module__t   __doc__R   R
   R   R   R   R   R   R   R    R!   R#   (    (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/requests/structures.pyR      s   									t
   LookupDictc           B   s8   e  Z d  Z d d  Z d   Z d   Z d d  Z RS(   s   Dictionary lookup object.c         C   s    | |  _  t t |   j   d  S(   N(   t   namet   superR'   R
   (   R   R(   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/requests/structures.pyR
   Z   s    	c         C   s   d |  j  S(   Ns   <lookup '%s'>(   R(   (   R   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/requests/structures.pyR#   ^   s    c         C   s   |  j  j | d   S(   N(   t   __dict__t   getR   (   R   R   (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/requests/structures.pyR   a   s    c         C   s   |  j  j | |  S(   N(   R*   R+   (   R   R   t   default(    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/requests/structures.pyR+   f   s    N(   R$   R%   R&   R   R
   R#   R   R+   (    (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/requests/structures.pyR'   W   s
   		N(   R&   t   compatR    R   R   R   R   R'   (    (    (    sH   /data/av2000/b2b/venv/lib/python2.7/site-packages/requests/structures.pyt   <module>   s   J