Viewing File: /opt/alt/python38/lib64/python3.8/site-packages/multidict/__pycache__/_multidict_py.cpython-38.pyc

U

_o9@sddlZddlmZddlmZddlmZmZeZGddde	Z
e
Zdd	Zed
dga
GdddZGd
ddZGdddeeZGdddeZGdddeeZGdddeZGdddZGdddZGdddeejZGdddeejZGdd d eejZdS)!N)array)abc)MultiMappingMutableMultiMappingc@seZdZdZdZdS)istrzCase insensitive str.TN)__name__
__module____qualname____doc__Z__is_istr__rrJ/opt/alt/python38/lib64/python3.8/site-packages/multidict/_multidict_py.pyr
srcCst|tstd|jjS)Nz&Parameter should be multidict or proxy)
isinstance_Base	TypeError_impl_version)Zmdrrr

getversions
rQc@s4eZdZdZddZddZejjdkr0ddZ	d	S)
_Impl)_itemsrcCsg|_|dSN)rincr_versionselfrrr
__init__ sz_Impl.__init__cCs"t}|dd7<|d|_dSNrr)r)rvrrr
r$sz_Impl.incr_versionpypycCst|t|jSr)object
__sizeof__sys	getsizeofrrrrr
r ,sz_Impl.__sizeof__N)
rr	r
	__slots__rrr!implementationnamer rrrr
rs
rc@s~eZdZddZefddZefddZddZdd
dZdd
Z	ddZ
ddZddZddZ
ddZddZddZd	S)rcCs|Srrrkeyr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).0ikridentityrr

<listcomp>7sz _Base.getall.<locals>.<listcomp>Key not found: %rNr(rr_markerKeyError)rr'defaultresrr,r
getall4s
z_Base.getallcCsJ||}|jjD]\}}}||kr|Sq|tk	r:|Std|dS)z!Get first value matching the key.r/Nr0rr'r3r-r*r+rrrr
getone>s

z_Base.getonecCs
||Srr7r&rrr
__getitem__Jsz_Base.__getitem__NcCs|||S)zVGet first value matching the key.

        The method is alias for .getone().
        r8)rr'r3rrr
getMsz	_Base.getcCst|Sr)iterkeysrrrr
__iter__Tsz_Base.__iter__cCst|jjSrlenrrrrrr
__len__Wsz
_Base.__len__cCs
t|jS)z+Return a new view of the dictionary's keys.)	_KeysViewrrrrr
r<Zsz
_Base.keyscCs
t|jS)zAReturn a new view of the dictionary's items *(key, value) pairs).)
_ItemsViewrrrrr
items^sz_Base.itemscCs
t|jS)z-Return a new view of the dictionary's values.)_ValuesViewrrrrr
valuesbsz_Base.valuescCst|tjstSt|trx|jj}|jj}t|t|kr>dSt||D]*\\}}}\}}}||ksl||krHdSqHdSt|jjt|krdS|	D]"\}	}
|
|	t}|
|krdSqdS)NFT)rrMappingNotImplementedrrrr?ziprCr:r1)rotherZlftZrhtZi1Zk2Zv1Zi2Zv2r+rZnvrrr
__eq__fs$
z_Base.__eq__cCs0||}|jjD]\}}}||krdSqdS)NTF)r(rr)rr'r-r*r+rrrr
__contains__zs

z_Base.__contains__cCs(ddd|D}d|jj|S)N, css|]\}}d||VqdS)z
'{}': {!r}N)format)r)r+rrrr
	<genexpr>sz!_Base.__repr__.<locals>.<genexpr>z<{}({})>)joinrCrM	__class__r)rbodyrrr
__repr__sz_Base.__repr__)N)rr	r
r(r1r5r7r9r:r=r@r<rCrErJrKrRrrrr
r0s

rc@s(eZdZdZddZddZddZdS)	MultiDictProxyz'Read-only proxy for MultiDict instance.cCs,t|ttfs tdt||j|_dS)Nz:ctor requires MultiDict or MultiDictProxy instance, not {})r	MultiDictrSrrMtyperrargrrr
rszMultiDictProxy.__init__cCstd|jjdS)Nzcan't pickle {} objects)rrMrPrrrrr

__reduce__szMultiDictProxy.__reduce__cCst|SzReturn a copy of itself.)rTrCrrrr
copyszMultiDictProxy.copyN)rr	r
rrrXrZrrrr
rSs	rSc@s(eZdZdZddZddZddZdS)	CIMultiDictProxyz)Read-only proxy for CIMultiDict instance.cCs,t|ttfs tdt||j|_dS)Nz>ctor requires CIMultiDict or CIMultiDictProxy instance, not {})rCIMultiDictr[rrMrUrrVrrr
rszCIMultiDictProxy.__init__cCs|Srtitler&rrr
r(szCIMultiDictProxy._titlecCst|SrY)r\rCrrrr
rZszCIMultiDictProxy.copyN)rr	r
rrr(rZrrrr
r[s	r[c@seZdZdZddZejjdkr(ddZddZ	d	d
Z
ddZd
dZddZ
e
ZddZddZddZddZddZddZd,ddZefd d!ZeZefd"d#Zd$d%Zd&d'Zd(d)Zd*d+ZdS)-rTz/Dictionary with the support for duplicate keys.cOs"t|_||||jj|jdSr)rr_extendrPr
_extend_itemsrargskwargsrrr
rszMultiDict.__init__rcCst|t|jSr)rr r!r"rrrrr
r szMultiDict.__sizeof__cCs|jt|ffSr)rPlistrCrrrr
rXszMultiDict.__reduce__cCs|Srrr&rrr
r(szMultiDict._titlecCst|tr|StddS)Nz8MultiDict keys should be either str or subclasses of str)rstrrr&rrr
_keys

zMultiDict._keycCs2||}|jj||||f|jdSr)r(rrappendrfr)rr'valuer-rrr
adds
z
MultiDict.addcCs|j}||SrY)rPrC)rclsrrr
rZszMultiDict.copycOs|||d|jdS)zhExtend current MultiDict with more values.

        This method must be used instead of update.
        extendN)r_r`rarrr
rkszMultiDict.extendcst|dkr td|t||r|d}t|dttfrL|sL|jj}nt|dr^|	}|r|t
|}|t
|	g}|D]F}t|dkstd||
|d|d|dfq||n|fdd|	DdS)	Nrz1{} takes at most 1 positional argument ({} given)rrCz3{} takes either dict or list of (key, value) tuplescs&g|]\}}|||fqSr)r(rf)r)r'rhrrr
r.sz%MultiDict._extend.<locals>.<listcomp>)r?rrMrrTrSrrhasattrrCrdrkrgr(rf)rrbrcr%methodrWrCitemrrr
r_s>

*

zMultiDict._extendcCs |D]\}}}|||qdSr)ri)rrCr-r'rhrrr
r`szMultiDict._extend_itemscCs|jj|jdS)z Remove all items from MultiDict.N)rrclearrrrrr
rpszMultiDict.clearcCs|||dSr)_replace)rr'rhrrr
__setitem__	szMultiDict.__setitem__cCsf||}|jj}d}tt|dddD]}||d|kr*||=d}q*|sXt|n
|jdS)NFrrT)r(rrranger?r2r)rr'r-rCfoundr*rrr
__delitem__s

zMultiDict.__delitem__NcCs>||}|jjD]\}}}||kr|Sq||||S)zAReturn value for key, set value to default if key is not present.)r(rrrir6rrr

setdefaults

zMultiDict.setdefaultcCsz||}tt|jjD]D}|jj|d|kr|jj|d}|jj|=|j|Sq|tkrrt|n|SdS)zRemove specified key and return the corresponding value.

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

        rrlN)r(rtr?rrrr1r2)rr'r3r-r*rhrrr
popone"s




zMultiDict.poponecCsd}||}g}tt|jjdddD]B}|jj|}|d|kr*||d|jj|=|jd}q*|s|tkrt|q|Sn|	|SdS)zRemove 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.

        FrrsrrlTN)
r(rtr?rrrgrr1r2reverse)rr'r3rur-Zretr*rorrr
popall7s 



zMultiDict.popallcCs<|jjr0|jjd}|j|d|dfStddS)z1Remove and return an arbitrary (key, value) pair.rrrlzempty multidictN)rrpoprr2)rr*rrr
popitemRs

zMultiDict.popitemcOs|||d|jdS)z>Update the dictionary from *other*, overwriting existing keys.updateN)r_
_update_itemsrarrr
r}[szMultiDict.updatec
Cs|sdSi}|D]\}}}||d}t|t|jjD]>}|jj|}|d|kr8|d||<|||f|jj|<qq8|jj|||ft|jj||<qd}|t|jjkr|jj|}|d}||}	|	dkr|d7}q||	kr|jj|=q|d7}q|jdSr)r:rtr?rrrgr)
rrCZ	used_keysr-r'rhstartr*roposrrr
r~_s2

zMultiDict._update_itemscCs||}||}|jj}tt|D]8}||}|d|kr(|||f||<|}|jqq(|jj|||f|jdS|d}|t|kr||}|d|kr||=q|d7}qdSr)rfr(rrrtr?rrg)rr'rhr-rCr*roZrgtrrr
rqs&



zMultiDict._replace)N)rr	r
rrr!r$r%r rXr(rfrirZ__copy__rkr_r`rprrrvrwr1rxr{rzr|r}r~rqrrrr
rTs0"
		 rTc@seZdZdZddZdS)r\z@Dictionary with the support for duplicate case-insensitive keys.cCs|Srr]r&rrr
r(szCIMultiDict._titleN)rr	r
rr(rrrr
r\sr\c@s0eZdZdZddZddZddZdd	Zd
S)_Iter_size_itercCs||_||_dSrr)rsizeiteratorrrr
rsz_Iter.__init__cCs|Srrrrrr
r=sz_Iter.__iter__cCs
t|jSr)nextrrrrr
__next__sz_Iter.__next__cCs|jSr)rrrrr
__length_hint__sz_Iter.__length_hint__N)rr	r
r#rr=rrrrrr
rs
rc@seZdZddZddZdS)	_ViewBasecCs||_|j|_dSr)rr)rimplrrr
rsz_ViewBase.__init__cCst|jjSrr>rrrr
r@sz_ViewBase.__len__N)rr	r
rr@rrrr
rsrc@s,eZdZddZddZddZddZd	S)
rBcCs^t|tst|tstt|dks(t|jjD](\}}}|d|kr0|d|kr0dSq0dS)NrlrrTF)rtuplerdAssertionErrorr?rr)rror*r+rrrr
rKsz_ItemsView.__contains__cCstt||Srrr?rrrrr
r=sz_ItemsView.__iter__ccs8|jjD]*\}}}|j|jjkr(td||fVqdS)N#Dictionary changed during iterationrrrRuntimeError)rr*r+rrrr
rsz_ItemsView._itercCsFg}|jjD]}|d|d|dqd|}d|jj|S)Nz
{!r}: {!r}rrlrL{}({})rrrgrMrOrPrrZlstrorQrrr
rRs

z_ItemsView.__repr__Nrr	r
rKr=rrRrrrr
rBsrBc@s,eZdZddZddZddZddZd	S)
rDcCs$|jjD]}|d|krdSqdS)NrlTFrr)rrhrorrr
rKsz_ValuesView.__contains__cCstt||Srrrrrr
r=sz_ValuesView.__iter__ccs2|jjD]$}|j|jjkr"td|dVqdS)Nrrlrrrorrr
rsz_ValuesView._itercCs@g}|jjD]}|d|dqd|}d|jj|S)N{!r}rlrLrrrrrr
rRs

z_ValuesView.__repr__Nrrrrr
rDsrDc@s,eZdZddZddZddZddZd	S)
rAcCs$|jjD]}|d|krdSqdS)NrTFr)rr'rorrr
rKsz_KeysView.__contains__cCstt||Srrrrrr
r=sz_KeysView.__iter__ccs2|jjD]$}|j|jjkr"td|dVqdS)Nrrrrrrr
rsz_KeysView._itercCs@g}|jjD]}|d|dqd|}d|jj|S)NrrrLrrrrrr
rRs

z_KeysView.__repr__Nrrrrr
rAsrA)r!rcollectionsr_abcrrrr1rerZupstrrrrrrSr[rTr\rr	ItemsViewrB
ValuesViewrDKeysViewrArrrr
<module>s(Vn	
Back to Directory File Manager