Viewing File: /opt/alt/python35/lib64/python3.5/site-packages/multidict/__pycache__/_multidict_py.cpython-35.pyc



~mZ`6@stddlmZddlmZddlZddlmZmZeZGddde	Z
e
Zdd	Zed
dga
GdddZGd
ddZGdddeeZGdddeZGdddeeZGdddeZGdddZGdddeejZGdddeejZGdddeejZdS))array)abcN)MultiMappingMutableMultiMappingc@sCeZdZdZdZdejdddZddZd	S)
istrzCase insensitive str.TstrictcCsSt|ddr|St|tkr+nt|}|j}tj||S)N__is_istr__F)getattrtypestrtitle__new__)clsvalencodingerrorsr/_multidict_py.pyrszistr.__new__cCs|S)Nr)selfrrrrsz
istr.titleN)	__name__
__module____qualname____doc__r
sysgetdefaultencodingrrrrrrrs
rcCs%t|tstd|jjS)Nz&Parameter should be multidict or proxy)
isinstance_Base	TypeError_impl_version)Zmdrrr
getversion$sr"Qc@s.eZdZdZddZddZdS)	_Impl_itemsr!cCsg|_|jdS)N)r%incr_version)rrrr__init__0s	z_Impl.__init__cCs%t}|dd7<|d|_dS)Nrr)r!)rvrrrr&4sz_Impl.incr_versionN)r%r!)rrr	__slots__r'r&rrrrr$-sr$c@seZdZddZeddZeddZddZd	d
dZdd
Z	ddZ
ddZddZddZ
ddZddZddZd	S)rcCs|S)Nr)rkeyrrr_title=sz_Base._titlecsc|j|fdd|jjD}|r8|S|rO|tk	rO|Std|dS)z-Return a list of all values matching the key.cs+g|]!\}}}|kr|qSrr).0ikr()identityrr
<listcomp>Cs	z _Base.getall.<locals>.<listcomp>zKey not found: %rN)r+r r%_markerKeyError)rr*defaultresr)r/rgetall@sz_Base.getallcCsc|j|}x-|jjD]\}}}||kr|SqW|tk	rO|Std|dS)z!Get first value matching the key.zKey not found: %rN)r+r r%r1r2)rr*r3r/r-r.r(rrrgetoneJsz_Base.getonecCs
|j|S)N)r6)rr*rrr__getitem__Vsz_Base.__getitem__NcCs|j||S)zVGet first value matching the key.

        The method is alias for .getone().
        )r6)rr*r3rrrgetYsz	_Base.getcCst|jS)N)iterkeys)rrrr__iter__`sz_Base.__iter__cCst|jjS)N)lenr r%)rrrr__len__csz
_Base.__len__cCs
t|jS)z+Return a new view of the dictionary's keys.)	_KeysViewr )rrrrr:fsz
_Base.keyscCs
t|jS)zAReturn a new view of the dictionary's items *(key, value) pairs).)
_ItemsViewr )rrrritemsjsz_Base.itemscCs
t|jS)z-Return a new view of the dictionary's values.)_ValuesViewr )rrrrvaluesnsz_Base.valuescCst|tjstSt|tr|jj}|jj}t|t|krYdSxKt||D]:\\}}}\}}}||ks||kridSqiWdSt|jjt|krdSx<|j	D].\}	}
|j
|	t}|
|krdSqWdS)NFT)rrMappingNotImplementedrr r%r<zipr@r8r1)rotherZlftZrhtZi1Zk2Zv1Zi2Zv2r.r(Znvrrr__eq__rs$.z_Base.__eq__cCsC|j|}x-|jjD]\}}}||krdSqWdS)NTF)r+r r%)rr*r/r-r.r(rrr__contains__s
z_Base.__contains__cCs8djdd|jD}dj|jj|S)Nz, css'|]\}}dj||VqdS)z
'{}': {!r}N)format)r,r.r(rrr	<genexpr>sz!_Base.__repr__.<locals>.<genexpr>z<{}({})>)joinr@rI	__class__r)rbodyrrr__repr__s"z_Base.__repr__)rrrr+r1r5r6r7r8r;r=r:r@rBrGrHrNrrrrr;s
rc@s4eZdZddZddZddZdS)MultiDictProxycCs@t|ttfs0tdjt||j|_dS)Nz:ctor requires MultiDict or MultiDictProxy instance, not {})r	MultiDictrOrrIrr )rargrrrr's
zMultiDictProxy.__init__cCstdj|jjdS)Nzcan't pickle {} objects)rrIrLr)rrrr
__reduce__s	zMultiDictProxy.__reduce__cCst|jS)zReturn a copy of itself.)rPr@)rrrrcopyszMultiDictProxy.copyN)rrrr'rRrSrrrrrOs	rOc@s4eZdZddZddZddZdS)CIMultiDictProxycCs@t|ttfs0tdjt||j|_dS)Nz>ctor requires CIMultiDict or CIMultiDictProxy instance, not {})rCIMultiDictrTrrIrr )rrQrrrr's
zCIMultiDictProxy.__init__cCs
|jS)N)r)rr*rrrr+szCIMultiDictProxy._titlecCst|jS)zReturn a copy of itself.)rUr@)rrrrrSszCIMultiDictProxy.copyN)rrrr'r+rSrrrrrTs	rTc@seZdZddZddZddZddZd	d
ZddZd
dZ	ddZ
ddZddZddZ
ddZdddZeddZeZeddZd d!Zd"d#Zd$d%Zd&d'ZdS)(rPcOs/t|_|j|||jj|jdS)N)r$r _extendrLr
_extend_items)rargskwargsrrrr'szMultiDict.__init__cCs|jt|jffS)N)rLlistr@)rrrrrRszMultiDict.__reduce__cCs|S)Nr)rr*rrrr+szMultiDict._titlecCs)t|trt|StddS)Nz8MultiDict keys should be either str or subclasses of str)rr
r)rr*rrr_keys
zMultiDict._keycCsE|j|}|jjj||j||f|jjdS)N)r+r r%appendr[r&)rr*valuer/rrradds%z
MultiDict.addcCs|j}||jS)zReturn a copy of itself.)rLr@)rrrrrrSs	zMultiDict.copycOs|j||d|jdS)zhExtend current MultiDict with more values.

        This method must be used instead of update.
        extendN)rVrW)rrXrYrrrr_szMultiDict.extendcs&t|dkr0tdj|t||r|d}t|dttfrh|jj}nt|dr|j	}g}xi|D]a}t|dkstdj||j
j|dj|d|dfqW|||fdd|j	DdS)	Nrz1{} takes at most 1 positional argument ({} given)rr@z3{} takes either dict or list of (key, value) tuplescs7g|]-\}}j|j||fqSr)r+r[)r,r*r])rrrr0s	z%MultiDict._extend.<locals>.<listcomp>)
r<rrIrrPrOr r%hasattrr@r\r+r[)rrXrYnamemethodrQr@itemr)rrrVs*	


zMultiDict._extendcCs.x'|D]\}}}|j||qWdS)N)r^)rr@r/r*r]rrrrWszMultiDict._extend_itemscCs!|jjj|jjdS)z Remove all items from MultiDict.N)r r%clearr&)rrrrreszMultiDict.clearcCs|j||dS)N)_replace)rr*r]rrr__setitem__szMultiDict.__setitem__cCs|j|}|jj}d}xEtt|dddD]'}||d|kr>||=d}q>W|s~t|n
|jjdS)NFrrTrh)r+r r%ranger<r2r&)rr*r/r@foundr-rrr__delitem__s#
zMultiDict.__delitem__NcCsS|j|}x-|jjD]\}}}||kr|SqW|j|||S)zAReturn value for key, set value to default if key is not present.)r+r r%r^)rr*r3r/r-r.r(rrr
setdefaultszMultiDict.setdefaultcCs|j|}xltt|jjD]R}|jj|d|kr(|jj|d}|jj|=|jj|Sq(W|tkrt|n|SdS)zRemove specified key and return the corresponding value.

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

        rr`N)r+rir<r r%r&r1r2)rr*r3r/r-r]rrrpopones

zMultiDict.poponecCsd}|j|}g}x{tt|jjdddD]W}|jj|}|d|kr>|j|d|jj|=|jjd}q>W|s|tkrt|q|Sn|j	|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.

        Frrr`TNrhrh)
r+rir<r r%r\r&r1r2reverse)rr*r3rjr/Zretr-rdrrrpopall2s )



zMultiDict.popallcCsP|jjr@|jjjd}|jj|d|dfStddS)z1Remove and return an arbitrary (key, value) pair.rrr`zempty multidictN)r r%popr&r2)rr-rrrpopitemMs

zMultiDict.popitemcOs|j||d|jdS)z>Update the dictionary from *other*, overwriting existing keys.updateN)rV
_update_items)rrXrYrrrrrVszMultiDict.updatec
Csz|s
dSi}x|D]\}}}|j|d}xt|t|jjD]N}|jj|}|d|krT|d||<|||f|jj|<PqTW|jjj|||ft|jj||<qWd}x|t|jjkrh|jj|}|d}|j|}	|	dkr?|d7}q||	kr[|jj|=q|d7}qW|jjdS)Nrr)r8rir<r r%r\r&)
rr@Z	used_keysr/r*r]startr-rdposrrrrsZs2"

zMultiDict._update_itemscCs|j|}|j|}|jj}xtt|dddD]G}||}|d|krG|||f||<|}|jjPqGW|jjj|||f|jjdSd}xH||kr||}|d|kr||=|d8}q|d7}qWdS)Nrrrhrh)r[r+r r%rir<r&r\)rr*r]r/r@r-rdZrgtrrrrfzs(#




zMultiDict._replace)rrrr'rRr+r[r^rSr_rVrWrergrkrlr1rmrprorqrrrsrfrrrrrPs(
		 rPc@seZdZddZdS)rUcCs
|jS)N)r)rr*rrrr+szCIMultiDict._titleN)rrrr+rrrrrUsrUc@s(eZdZddZddZdS)	_ViewBasecCs||_|j|_dS)N)r r!)rimplrrrr's	z_ViewBase.__init__cCst|jjS)N)r<r r%)rrrrr=sz_ViewBase.__len__N)rrrr'r=rrrrrvsrvc@s4eZdZddZddZddZdS)r?cCst|ts$t|ts$tt|dks<txA|jjD]3\}}}|d|krI|d|krIdSqIWdS)Nr`rrTF)rtuplerZAssertionErrorr<r r%)rrdr-r.r(rrrrHs$ z_ItemsView.__contains__ccsPxI|jjD];\}}}|j|jjkr=td||fVq
WdS)Nz#Dictionary changed during iteration)r r%r!RuntimeError)rr-r.r(rrrr;sz_ItemsView.__iter__cCscg}x5|jjD]'}|jdj|d|dqWdj|}dj|jj|S)Nz
{!r}: {!r}rr`z, z{}({}))r r%r\rIrKrLr)rlstrdrMrrrrNs
%z_ItemsView.__repr__N)rrrrHr;rNrrrrr?sr?c@s4eZdZddZddZddZdS)rAcCs/x(|jjD]}|d|kr
dSq
WdS)Nr`TF)r r%)rr]rdrrrrHsz_ValuesView.__contains__ccsEx>|jjD]0}|j|jjkr4td|dVq
WdS)Nz#Dictionary changed during iterationr`)r r%r!rz)rrdrrrr;sz_ValuesView.__iter__cCs\g}x.|jjD] }|jdj|dqWdj|}dj|jj|S)Nz{!r}r`z, z{}({}))r r%r\rIrKrLr)rr{rdrMrrrrNs
z_ValuesView.__repr__N)rrrrHr;rNrrrrrAsrAc@s4eZdZddZddZddZdS)r>cCs/x(|jjD]}|d|kr
dSq
WdS)NrTF)r r%)rr*rdrrrrHsz_KeysView.__contains__ccsEx>|jjD]0}|j|jjkr4td|dVq
WdS)Nz#Dictionary changed during iterationr)r r%r!rz)rrdrrrr;sz_KeysView.__iter__cCs\g}x.|jjD] }|jdj|dqWdj|}dj|jj|S)Nz{!r}rz, z{}({}))r r%r\rIrKrLr)rr{rdrMrrrrNs
z_KeysView.__repr__N)rrrrHr;rNrrrrr>sr>)rcollectionsrrZ_abcrrobjectr1r
rZupstrr"r!r$rrOrTrPrUrv	ItemsViewr?
ValuesViewrAKeysViewr>rrrr<module>s$	W

Back to Directory File Manager