
    k"g`                     P    d Z ddlmZ ddlmZmZ  G d de      Z G d de      Zy	)
zO
requests.structures
~~~~~~~~~~~~~~~~~~~

Data structures that power Requests.
    )OrderedDict   )MappingMutableMappingc                   N    e Zd ZdZddZd Zd Zd Zd Zd Z	d	 Z
d
 Zd Zd Zy)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.
    Nc                 P    t               | _        |i } | j                  |fi | y N)r   _storeupdate)selfdatakwargss      X/var/www/html/djangosite/lib/python3.12/site-packages/pip/_vendor/requests/structures.py__init__zCaseInsensitiveDict.__init__(   s(    !m<DD#F#    c                 B    ||f| j                   |j                         <   y r
   r   lower)r   keyvalues      r   __setitem__zCaseInsensitiveDict.__setitem__.   s     %(<CIIK r   c                 B    | j                   |j                            d   S )Nr   r   r   r   s     r   __getitem__zCaseInsensitiveDict.__getitem__3   s    {{399;'**r   c                 :    | j                   |j                         = y r
   r   r   s     r   __delitem__zCaseInsensitiveDict.__delitem__6   s    KK		$r   c                 D    d | j                   j                         D        S )Nc              3   &   K   | ]	  \  }}|  y wr
    ).0casedkeymappedvalues      r   	<genexpr>z/CaseInsensitiveDict.__iter__.<locals>.<genexpr>:   s     K2X{Ks   )r   valuesr   s    r   __iter__zCaseInsensitiveDict.__iter__9   s    Kdkk6H6H6JKKr   c                 ,    t        | j                        S r
   )lenr   r&   s    r   __len__zCaseInsensitiveDict.__len__<   s    4;;r   c                 D    d | j                   j                         D        S )z.Like iteritems(), but with all lowercase keys.c              3   0   K   | ]  \  }}||d    f  yw)r   Nr    )r!   lowerkeykeyvals      r   r$   z2CaseInsensitiveDict.lower_items.<locals>.<genexpr>A   s     T*<8V6!9%Ts   )r   itemsr&   s    r   lower_itemszCaseInsensitiveDict.lower_items?   s    T@Q@Q@STTr   c                     t        |t              rt        |      }nt        S t	        | j                               t	        |j                               k(  S r
   )
isinstancer   r   NotImplementeddictr0   )r   others     r   __eq__zCaseInsensitiveDict.__eq__C   sC    eW%'.E!!D$$&'40A0A0C+DDDr   c                 H    t        | j                  j                               S r
   )r   r   r%   r&   s    r   copyzCaseInsensitiveDict.copyL   s    "4;;#5#5#788r   c                 F    t        t        | j                                     S r
   )strr4   r/   r&   s    r   __repr__zCaseInsensitiveDict.__repr__O   s    4

%&&r   r
   )__name__
__module____qualname____doc__r   r   r   r   r'   r*   r0   r6   r8   r;   r    r   r   r   r      s<    4$0
+%L UE9'r   r   c                   8     e Zd ZdZd fd	Zd Zd ZddZ xZS )
LookupDictzDictionary lookup object.c                 0    || _         t        | 	          y r
   )namesuperr   )r   rC   	__class__s     r   r   zLookupDict.__init__V   s    	r   c                 "    d| j                    dS )Nz	<lookup 'z'>)rC   r&   s    r   r;   zLookupDict.__repr__Z   s    499+R((r   c                 :    | j                   j                  |d       S r
   __dict__getr   s     r   r   zLookupDict.__getitem__]   s     }}  d++r   c                 :    | j                   j                  ||      S r
   rH   )r   r   defaults      r   rJ   zLookupDict.getb   s    }}  g..r   r
   )	r<   r=   r>   r?   r   r;   r   rJ   __classcell__)rE   s   @r   rA   rA   S   s    #),
/r   rA   N)	r?   collectionsr   compatr   r   r   r4   rA   r    r   r   <module>rP      s-    $ +C'. C'L/ /r   