HEX
Server: LiteSpeed
System: Linux standart9.isimtescil.net 3.10.0-962.3.2.lve1.5.26.7.el7.x86_64 #1 SMP Wed Oct 2 07:53:12 EDT 2019 x86_64
User: karalev (5310)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: //opt/alt/python37/lib64/python3.7/site-packages/multidict/__pycache__/_multidict_py.cpython-37.pyc
B

���_o9�@sddlZddlmZddlmZddlmZmZe�ZGdd�de	�Z
e
Zdd	�Zed
dg�a
Gdd�d�ZGd
d�d�ZGdd�dee�ZGdd�de�ZGdd�dee�ZGdd�de�ZGdd�d�ZGdd�d�ZGdd�deej�ZGdd�deej�ZGdd �d eej�ZdS)!�N)�array)�abc�)�MultiMapping�MutableMultiMappingc@seZdZdZdZdS)�istrzCase insensitive str.TN)�__name__�
__module__�__qualname__�__doc__Z__is_istr__�rr�J/opt/alt/python37/lib64/python3.7/site-packages/multidict/_multidict_py.pyr
srcCst|t�std��|jjS)Nz&Parameter should be multidict or proxy)�
isinstance�_Base�	TypeError�_impl�_version)Zmdrrr
�
getversions
r�Qc@s4eZdZdZdd�Zdd�Zejjdkr0dd�Z	d	S)
�_Impl)�_itemsrcCsg|_|��dS)N)r�incr_version)�selfrrr
�__init__ sz_Impl.__init__cCs"t}|dd7<|d|_dS)Nrr)r)r�vrrr
r$sz_Impl.incr_version�pypycCst�|�t�|j�S)N)�object�
__sizeof__�sys�	getsizeofr)rrrr
r,sz_Impl.__sizeof__N)
rr	r
�	__slots__rrr�implementation�namerrrrr
rs
rc@s~eZdZdd�Zefdd�Zefdd�Zdd�Zdd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zd	S)rcCs|S)Nr)r�keyrrr
�_title1sz_Base._titlecsH|�|���fdd�|jjD�}|r(|S|s8|tk	r8|Std|��dS)z-Return a list of all values matching the key.csg|]\}}}|�kr|�qSrr)�.0�i�kr)�identityrr
�
<listcomp>7sz _Base.getall.<locals>.<listcomp>zKey not found: %rN)r$rr�_marker�KeyError)rr#�defaultZresr)r(r
�getall4s
z_Base.getallcCsJ|�|�}x"|jjD]\}}}||kr|SqW|tk	r:|Std|��dS)z!Get first value matching the key.zKey not found: %rN)r$rrr*r+)rr#r,r(r&r'rrrr
�getone>s
z_Base.getonecCs
|�|�S)N)r.)rr#rrr
�__getitem__Jsz_Base.__getitem__NcCs|�||�S)zVGet first value matching the key.

        The method is alias for .getone().
        )r.)rr#r,rrr
�getMsz	_Base.getcCst|���S)N)�iter�keys)rrrr
�__iter__Tsz_Base.__iter__cCst|jj�S)N)�lenrr)rrrr
�__len__Wsz
_Base.__len__cCs
t|j�S)z+Return a new view of the dictionary's keys.)�	_KeysViewr)rrrr
r2Zsz
_Base.keyscCs
t|j�S)zAReturn a new view of the dictionary's items *(key, value) pairs).)�
_ItemsViewr)rrrr
�items^sz_Base.itemscCs
t|j�S)z-Return a new view of the dictionary's values.)�_ValuesViewr)rrrr
�valuesbsz_Base.valuescCs�t|tj�stSt|t�rz|jj}|jj}t|�t|�kr>dSx6t||�D](\\}}}\}}}||ksn||krJdSqJWdSt|jj�t|�kr�dSx,|�	�D] \}	}
|�
|	t�}|
|kr�dSq�WdS)NFT)rr�Mapping�NotImplementedrrrr4�zipr8r0r*)r�otherZlftZrhtZi1Zk2Zv1Zi2Zv2r'rZnvrrr
�__eq__fs$
 z_Base.__eq__cCs2|�|�}x"|jjD]\}}}||krdSqWdS)NTF)r$rr)rr#r(r&r'rrrr
�__contains__zs

z_Base.__contains__cCs(d�dd�|��D��}d�|jj|�S)Nz, css|]\}}d�||�VqdS)z
'{}': {!r}N)�format)r%r'rrrr
�	<genexpr>�sz!_Base.__repr__.<locals>.<genexpr>z<{}({})>)�joinr8rA�	__class__r)r�bodyrrr
�__repr__�sz_Base.__repr__)N)rr	r
r$r*r-r.r/r0r3r5r2r8r:r?r@rFrrrr
r0s

rc@s(eZdZdZdd�Zdd�Zdd�ZdS)	�MultiDictProxyz'Read-only proxy for MultiDict instance.cCs,t|ttf�s td�t|����|j|_dS)Nz:ctor requires MultiDict or MultiDictProxy instance, not {})r�	MultiDictrGrrA�typer)r�argrrr
r�s
zMultiDictProxy.__init__cCstd�|jj���dS)Nzcan't pickle {} objects)rrArDr)rrrr
�
__reduce__�szMultiDictProxy.__reduce__cCst|���S)zReturn a copy of itself.)rHr8)rrrr
�copy�szMultiDictProxy.copyN)rr	r
rrrKrLrrrr
rG�s	rGc@s(eZdZdZdd�Zdd�Zdd�ZdS)	�CIMultiDictProxyz)Read-only proxy for CIMultiDict instance.cCs,t|ttf�s td�t|����|j|_dS)Nz>ctor requires CIMultiDict or CIMultiDictProxy instance, not {})r�CIMultiDictrMrrArIr)rrJrrr
r�s
zCIMultiDictProxy.__init__cCs|��S)N)�title)rr#rrr
r$�szCIMultiDictProxy._titlecCst|���S)zReturn a copy of itself.)rNr8)rrrr
rL�szCIMultiDictProxy.copyN)rr	r
rrr$rLrrrr
rM�s	rMc@s�eZdZdZdd�Zejjdkr(dd�Zdd�Z	d	d
�Z
dd�Zd
d�Zdd�Z
e
Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd,dd�Zefd d!�ZeZefd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�ZdS)-rHz/Dictionary with the support for duplicate keys.cOs"t�|_|�|||jj|j�dS)N)rr�_extendrDr�
_extend_items)r�args�kwargsrrr
r�szMultiDict.__init__rcCst�|�t�|j�S)N)rrrrr)rrrr
r�szMultiDict.__sizeof__cCs|jt|���ffS)N)rD�listr8)rrrr
rK�szMultiDict.__reduce__cCs|S)Nr)rr#rrr
r$�szMultiDict._titlecCst|t�r|Std��dS)Nz8MultiDict keys should be either str or subclasses of str)r�strr)rr#rrr
�_key�s
zMultiDict._keycCs2|�|�}|jj�||�|�|f�|j��dS)N)r$rr�appendrVr)rr#�valuer(rrr
�add�s
z
MultiDict.addcCs|j}||���S)zReturn a copy of itself.)rDr8)r�clsrrr
rL�szMultiDict.copycOs|�||d|j�dS)zhExtend current MultiDict with more values.

        This method must be used instead of update.
        �extendN)rPrQ)rrRrSrrr
r[�szMultiDict.extendcs�t|�dkr td�|t|����|r�|d}t|dttf�rL|sL|jj}n�t|d�r^|�	�}|r|t
|�}|�t
|�	���g}xN|D]F}t|�dks�td�|���|���
|d���|d�|df�q�W||�n|�fdd�|�	�D��dS)	Nrz1{} takes at most 1 positional argument ({} given)rr8�z3{} takes either dict or list of (key, value) tuplescs&g|]\}}��|���|�|f�qSr)r$rV)r%r#rX)rrr
r)�sz%MultiDict._extend.<locals>.<listcomp>)r4rrArrHrGrr�hasattrr8rTr[rWr$rV)rrRrSr"�methodrJr8�itemr)rr
rP�s0


,

zMultiDict._extendcCs$x|D]\}}}|�||�qWdS)N)rY)rr8r(r#rXrrr
rQ�szMultiDict._extend_itemscCs|jj��|j��dS)z Remove all items from MultiDict.N)rr�clearr)rrrr
r`szMultiDict.clearcCs|�||�dS)N)�_replace)rr#rXrrr
�__setitem__	szMultiDict.__setitem__cCsj|�|�}|jj}d}x6tt|�ddd�D]}||d|kr,||=d}q,W|s\t|��n
|j��dS)NFr���rT)r$rr�ranger4r+r)rr#r(r8�foundr&rrr
�__delitem__s

zMultiDict.__delitem__NcCs>|�|�}x"|jjD]\}}}||kr|SqW|�||�|S)zAReturn value for key, set value to default if key is not present.)r$rrrY)rr#r,r(r&r'rrrr
�
setdefaults
zMultiDict.setdefaultcCsz|�|�}xTtt|jj��D]@}|jj|d|kr|jj|d}|jj|=|j��|SqW|tkrrt|��n|SdS)z�Remove specified key and return the corresponding value.

        If key is not found, d is returned if given, otherwise
        KeyError is raised.

        rr\N)r$rdr4rrrr*r+)rr#r,r(r&rXrrr
�popone"s



zMultiDict.poponecCs�d}|�|�}g}x^tt|jj�ddd�D]B}|jj|}|d|kr,|�|d�|jj|=|j��d}q,W|s�|tkr�t|��q�|Sn|�	�|SdS)z�Remove all occurrences of key and return the list of corresponding
        values.

        If key is not found, default is returned if given, otherwise
        KeyError is raised.

        Frrcrr\TN)
r$rdr4rrrWrr*r+�reverse)rr#r,rer(Zretr&r_rrr
�popall7s 



zMultiDict.popallcCs<|jjr0|jj�d�}|j��|d|dfStd��dS)z1Remove and return an arbitrary (key, value) pair.rrr\zempty multidictN)rr�poprr+)rr&rrr
�popitemRs

zMultiDict.popitemcOs|�||d|j�dS)z>Update the dictionary from *other*, overwriting existing keys.�updateN)rP�
_update_items)rrRrSrrr
rm[szMultiDict.updatec
Cs|sdSi}x�|D]�\}}}|�|d�}xvt|t|jj��D]<}|jj|}|d|kr<|d||<|||f|jj|<Pq<W|jj�|||f�t|jj�||<qWd}xd|t|jj�k�r|jj|}|d}|�|�}	|	dkr�|d7}q�||	k�r|jj|=q�|d7}q�W|j��dS)Nrr)r0rdr4rrrWr)
rr8Z	used_keysr(r#rX�startr&r_�posrrr
rn_s2

zMultiDict._update_itemscCs�|�|�}|�|�}|jj}xhtt|��D]6}||}|d|kr*|||f||<|}|j��Pq*W|jj�|||f�|j��dS|d}x4|t|�kr�||}|d|kr�||=q�|d7}q�WdS)Nrr)rVr$rrrdr4rrW)rr#rXr(r8r&r_Zrgtrrr
ras&



zMultiDict._replace)N)rr	r
rrrr!r"rrKr$rVrYrL�__copy__r[rPrQr`rbrfrgr*rhrkrjrlrmrnrarrrr
rH�s0"
		 rHc@seZdZdZdd�ZdS)rNz@Dictionary with the support for duplicate case-insensitive keys.cCs|��S)N)rO)rr#rrr
r$�szCIMultiDict._titleN)rr	r
rr$rrrr
rN�srNc@s0eZdZdZdd�Zdd�Zdd�Zdd	�Zd
S)�_Iter)�_size�_itercCs||_||_dS)N)rsrt)r�size�iteratorrrr
r�sz_Iter.__init__cCs|S)Nr)rrrr
r3�sz_Iter.__iter__cCs
t|j�S)N)�nextrt)rrrr
�__next__�sz_Iter.__next__cCs|jS)N)rs)rrrr
�__length_hint__�sz_Iter.__length_hint__N)rr	r
r rr3rxryrrrr
rr�s
rrc@seZdZdd�Zdd�ZdS)�	_ViewBasecCs||_|j|_dS)N)rr)r�implrrr
r�sz_ViewBase.__init__cCst|jj�S)N)r4rr)rrrr
r5�sz_ViewBase.__len__N)rr	r
rr5rrrr
rz�srzc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
r7cCs`t|t�st|t�st�t|�dks(t�x2|jjD]&\}}}|d|kr2|d|kr2dSq2WdS)Nr\rrTF)r�tuplerT�AssertionErrorr4rr)rr_r&r'rrrr
r@�sz_ItemsView.__contains__cCstt|�|���S)N)rrr4rt)rrrr
r3�sz_ItemsView.__iter__ccs<x6|jjD]*\}}}|j|jjkr*td��||fVq
WdS)Nz#Dictionary changed during iteration)rrr�RuntimeError)rr&r'rrrr
rt�sz_ItemsView._itercCsJg}x*|jjD]}|�d�|d|d��qWd�|�}d�|jj|�S)Nz
{!r}: {!r}rr\z, z{}({}))rrrWrArCrDr)r�lstr_rErrr
rF�s

z_ItemsView.__repr__N)rr	r
r@r3rtrFrrrr
r7�sr7c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
r9cCs&x |jjD]}|d|kr
dSq
WdS)Nr\TF)rr)rrXr_rrr
r@�sz_ValuesView.__contains__cCstt|�|���S)N)rrr4rt)rrrr
r3�sz_ValuesView.__iter__ccs6x0|jjD]$}|j|jjkr$td��|dVq
WdS)Nz#Dictionary changed during iterationr\)rrrr~)rr_rrr
rt�sz_ValuesView._itercCsDg}x$|jjD]}|�d�|d��qWd�|�}d�|jj|�S)Nz{!r}r\z, z{}({}))rrrWrArCrDr)rrr_rErrr
rF�s

z_ValuesView.__repr__N)rr	r
r@r3rtrFrrrr
r9�sr9c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
r6cCs&x |jjD]}|d|kr
dSq
WdS)NrTF)rr)rr#r_rrr
r@�sz_KeysView.__contains__cCstt|�|���S)N)rrr4rt)rrrr
r3�sz_KeysView.__iter__ccs6x0|jjD]$}|j|jjkr$td��|dVq
WdS)Nz#Dictionary changed during iterationr)rrrr~)rr_rrr
rt�sz_KeysView._itercCsDg}x$|jjD]}|�d�|d��qWd�|�}d�|jj|�S)Nz{!r}rz, z{}({}))rrrWrArCrDr)rrr_rErrr
rF�s

z_KeysView.__repr__N)rr	r
r@r3rtrFrrrr
r6�sr6)rr�collectionsr�_abcrrrr*rUrZupstrrrrrrGrMrHrNrrrz�	ItemsViewr7�
ValuesViewr9�KeysViewr6rrrr
�<module>s(Vn