Viewing File: /opt/alt/python35/lib64/python3.5/__pycache__/weakref.cpython-35.opt-2.pyc



]O
@s"ddlmZmZmZmZmZmZmZmZddl	m
Z
mZddlZddl
Z
ddlZeefZdddddd	d
ddd
dddg
ZGdddeZGdd
d
ejZGdddeZGdddejZGdddZdS))getweakrefcountgetweakrefsrefproxyCallableProxyType	ProxyType
ReferenceType_remove_dead_weakref)WeakSet_IterationGuardNrrrrWeakKeyDictionaryrrr
ProxyTypesWeakValueDictionaryr

WeakMethodfinalizecsXeZdZdZdddZfdd	Zd
dZdd
Zej	Z	S)r	_func_ref
_meth_type_alive__weakref__Ncsy|j}|j}Wn0tk
rHtdjt|dYnXfdd}tj|||}t|||_t||_	d|_
t||S)Nz)argument should be a bound method, not {}cs5}|jr1d|_dk	r1|dS)NF)r)argself)callbackself_wr,/opt/alt/python35/lib64/python3.5/weakref.py_cb3s
			zWeakMethod.__new__.<locals>._cbT)__self____func__AttributeError	TypeErrorformattyper__new__rrr)clsmethrobjfuncrrr)rrrr",s	

		zWeakMethod.__new__csGtj}|j}|dks3|dkr7dS|j||S)N)super__call__rr)rr%r&)	__class__rrr(Bs
zWeakMethod.__call__cCsSt|trO|js#|jr-||kStj||oN|j|jkSdS)NF)
isinstancerrr__eq__r)rotherrrrr+Is

"zWeakMethod.__eq__cCsSt|trO|js#|jr-||k	Stj||pN|j|jkSdS)NT)r*rrr__ne__r)rr,rrrr-Ps

"zWeakMethod.__ne__)rrrr)
__name__
__module____qualname__	__slots__r"r(r+r-r__hash__rr)r)rr$sc@seZdZddZddZddZddZd	d
ZddZd
dZ	ddZ
ddZeZddZ
dddZddZddZeZddZddZd d!Zd"d#Zdd$d%Zd&d'Zd(d)ZdS)*rcs|std|^}}t|dkrFtdt|t|tfdd}||_g|_t|_i|_|j	||dS)NzGdescriptor '__init__' of 'WeakValueDictionary' object needs an argumentz$expected at most 1 arguments, got %dcsH|}|dk	rD|jr4|jj|jn||jdS)N)
_iterating_pending_removalsappendkey)wrselfref_atomic_removalr)drrremovems
		z,WeakValueDictionary.__init__.<locals>.remove)
rlenrr	_remover5setr4dataupdate)argskwrr<r)r;r__init__fs			
zWeakValueDictionary.__init__cCs<|j}|j}x#|r7|j}t||qWdS)N)r5r@popr	)rlr;r7rrr_commit_removals}s
			z$WeakValueDictionary._commit_removalscCsF|jr|j|j|}|dkr>t|n|SdS)N)r5rGr@KeyError)rr7orrr__getitem__s	
zWeakValueDictionary.__getitem__cCs!|jr|j|j|=dS)N)r5rGr@)rr7rrr__delitem__s	
zWeakValueDictionary.__delitem__cCs |jr|jt|jS)N)r5rGr=r@)rrrr__len__s	
zWeakValueDictionary.__len__cCsJ|jr|jy|j|}Wntk
r?dSYnX|dk	S)NF)r5rGr@rH)rr7rIrrr__contains__s	

	z WeakValueDictionary.__contains__cCsd|jjt|fS)Nz<%s at %#x>)r)r.id)rrrr__repr__szWeakValueDictionary.__repr__cCs3|jr|jt||j||j|<dS)N)r5rGKeyedRefr>r@)rr7valuerrr__setitem__s	
zWeakValueDictionary.__setitem__cCs_|jr|jt}x<|jjD]+\}}|}|dk	r,|||<q,W|S)N)r5rGrr@items)rnewr7r8rIrrrcopys	
		zWeakValueDictionary.copycCs{ddlm}|jr#|j|j}xE|jjD]4\}}|}|dk	r?|||||<q?W|S)Nr)deepcopy)rUrVr5rGr)r@rS)rmemorVrTr7r8rIrrr__deepcopy__s	
	z WeakValueDictionary.__deepcopy__NcCs^|jr|jy|j|}Wntk
r<|SYnX|}|dkrV|S|SdS)N)r5rGr@rH)rr7defaultr8rIrrrgets	

		zWeakValueDictionary.getc
csk|jr|jt|Ex=|jjD],\}}|}|dk	r0||fVq0WWdQRXdS)N)r5rGrr@rS)rkr8vrrrrSs	

	zWeakValueDictionary.itemsc
cs_|jr|jt|9x1|jjD] \}}|dk	r0|Vq0WWdQRXdS)N)r5rGrr@rS)rr[r8rrrkeyss	

zWeakValueDictionary.keysc	cs=|jr|jt||jjEdHWdQRXdS)N)r5rGrr@values)rrrr
itervaluerefss
	

z!WeakValueDictionary.itervaluerefsc
cs_|jr|jt|9x1|jjD] }|}|dk	r0|Vq0WWdQRXdS)N)r5rGrr@r^)rr8r%rrrr^s	

	zWeakValueDictionary.valuescCsR|jr|jx8|jj\}}|}|dk	r||fSqWdS)N)r5rGr@popitem)rr7r8rIrrrr`s	
	zWeakValueDictionary.popitemcGsx|jr|jy|jj|}Wntk
rFd}YnX|dkrp|ra|dSt|n|SdS)Nr)r5rGr@rErH)rr7rBrIrrrrEs	

zWeakValueDictionary.popcCsvy|j|}Wntk
r.d}YnX|dkrn|jrN|jt||j||j|<|S|SdS)N)r@rHr5rGrPr>)rr7rYrIrrr
setdefaults
	
zWeakValueDictionary.setdefaultcOs|std|^}}t|dkrFtdt||rV|dnd}|jro|j|j}|dk	rt|dsti|}x3|jD]%\}}t||j	|||<qWt|r|j
|dS)NzEdescriptor 'update' of 'WeakValueDictionary' object needs an argumentr3z$expected at most 1 arguments, got %drrS)rr=r5rGr@hasattrr!rSrPr>rA)rBkwargsrdictr;r7rIrrrrA s 	
	zWeakValueDictionary.updatecCs&|jr|jt|jjS)N)r5rGlistr@r^)rrrr	valuerefs3s
	
zWeakValueDictionary.valuerefs)r.r/r0rDrGrJrKrLrMrOrRrU__copy__rXrZrSr]__iter__r_r^r`rErarArfrrrrrZs,			
			
cs4eZdZdZddZfddZS)rPr7cCs"tj|||}||_|S)N)rr"r7)r!obrr7rrrrr"Ns	zKeyedRef.__new__cstj||dS)N)r'rD)rrirr7)r)rrrDSszKeyedRef.__init__)r7)r.r/r0r1r"rDrr)r)rrPBs
rPc@seZdZdddZddZddZdd	Zd
dZdd
ZddZ	ddZ
ddZeZddZ
dddZddZddZddZeZddZd d!Zd"d#Zd$d%Zdd&d'Zdd(d)ZdS)*rNcCsbi|_t|dd}||_g|_t|_d|_|dk	r^|j|dS)NcSs?|}|dk	r;|jr1|jj|n
|j|=dS)N)r4r5r6r@)r[r9rrrrr<ds
		z*WeakKeyDictionary.__init__.<locals>.removeF)r@rr>r5r?r4
_dirty_lenrA)rrdr<rrrrDbs				zWeakKeyDictionary.__init__cCsI|j}|j}x0|rDy||j=Wqtk
r@YqXqWdS)N)r5r@rErH)rrFr;rrrrGss			
z"WeakKeyDictionary._commit_removalscs5|jfdd|jD|_d|_dS)Ncs"g|]}|kr|qSrr).0r[)r;rr
<listcomp>s	z5WeakKeyDictionary._scrub_removals.<locals>.<listcomp>F)r@r5rj)rr)r;r_scrub_removalss	z!WeakKeyDictionary._scrub_removalscCsd|_|jt|=dS)NT)rjr@r)rr7rrrrKs	zWeakKeyDictionary.__delitem__cCs|jt|S)N)r@r)rr7rrrrJszWeakKeyDictionary.__getitem__cCs6|jr|jr|jt|jt|jS)N)rjr5rmr=r@)rrrrrLs
zWeakKeyDictionary.__len__cCsd|jjt|fS)Nz<%s at %#x>)r)r.rN)rrrrrOszWeakKeyDictionary.__repr__cCs||jt||j<dS)N)r@rr>)rr7rQrrrrRszWeakKeyDictionary.__setitem__cCsLt}x<|jjD]+\}}|}|dk	r|||<qW|S)N)rr@rS)rrTr7rQrIrrrrUs		zWeakKeyDictionary.copycCshddlm}|j}xE|jjD]4\}}|}|dk	r,|||||<q,W|S)Nr)rV)rUrVr)r@rS)rrWrVrTr7rQrIrrrrXs	zWeakKeyDictionary.__deepcopy__cCs|jjt||S)N)r@rZr)rr7rYrrrrZszWeakKeyDictionary.getcCs6yt|}Wntk
r(dSYnX||jkS)NF)rrr@)rr7r8rrrrMs

	zWeakKeyDictionary.__contains__c
csXt|Ex=|jjD],\}}|}|dk	r||fVqWWdQRXdS)N)rr@rS)rr8rQr7rrrrSs

	zWeakKeyDictionary.itemsc
csFt|3x+|jD] }|}|dk	r|VqWWdQRXdS)N)rr@)rr8r%rrrr]s

	zWeakKeyDictionary.keysc
csLt|9x1|jjD] \}}|dk	r|VqWWdQRXdS)N)rr@rS)rr8rQrrrr^s
zWeakKeyDictionary.valuescCs
t|jS)N)rer@)rrrrkeyrefss
zWeakKeyDictionary.keyrefscCsHd|_x8|jj\}}|}|dk	r||fSqWdS)NT)rjr@r`)rr7rQrIrrrr`s		zWeakKeyDictionary.popitemcGs"d|_|jjt||S)NT)rjr@rEr)rr7rBrrrrEs	zWeakKeyDictionary.popcCs|jjt||j|S)N)r@rarr>)rr7rYrrrraszWeakKeyDictionary.setdefaultcKs|j}|dk	rit|ds6ti|}x0|jD]"\}}||t||j<qCWt|r|j|dS)NrS)r@rbr!rSrr>r=rA)rrdrcr;r7rQrrrrAs	zWeakKeyDictionary.update)r.r/r0rDrGrmrKrJrLrOrRrUrgrXrZrMrSr]rhr^rnr`rErarArrrrrWs,
	c@seZdZfZiZdZejZdZ	dZ
GdddZddZdddZ
d	d
ZddZed
dZeddZejddZddZeddZeddZdS)rFc@seZdZdZdS)	zfinalize._Infoweakrefr&rBrcatexitindexN)ror&rBrcrprq)r.r/r0r1rrrr_InfosrrcOs|js.ddl}|j|jdt_|j}t|||_||_||_	|pgd|_
d|_t|j|_
||j|<dt_dS)NrT)_registered_with_atexitrpregister	_exitfuncrrrrror&rBrcnext_index_iterrq	_registry_dirty)rr%r&rBrcrpinforrrrDs					
zfinalize.__init__NcCsE|jj|d}|rA|jrA|j|j|jp=iSdS)N)rxrE	_shutdownr&rBrc)r_rzrrrr(szfinalize.__call__cCsh|jj|}|o!|j}|dk	rd|jj|drd||j|j|jp`ifSdS)N)rxrZrorEr&rBrc)rrzr%rrrdetach&s!zfinalize.detachcCsS|jj|}|o!|j}|dk	rO||j|j|jpKifSdS)N)rxrZror&rBrc)rrzr%rrrpeek.sz
finalize.peekcCs
||jkS)N)rx)rrrralive6szfinalize.alivecCs%|jj|}t|o$|jS)N)rxrZboolrp)rrzrrrrp;szfinalize.atexitcCs+|jj|}|r't||_dS)N)rxrZrrp)rrQrzrrrrpAscCs|jj|}|o!|j}|dkrMdt|jt|fSdt|jt|t|jt|fSdS)Nz<%s object at %#x; dead>z!<%s object at %#x; for %r at %#x>)rxrZror!r.rN)rrzr%rrrrOGszfinalize.__repr__cCsCdd|jjD}|jddddd|DS)NcSs+g|]!\}}|jr||fqSr)rp)rkfirrrrlSs	z-finalize._select_for_exit.<locals>.<listcomp>r7cSs|djS)Nr3)rq)itemrrr<lambda>Tsz+finalize._select_for_exit.<locals>.<lambda>cSsg|]\}}|qSrr)rkrrrrrrlUs	)rxrSsort)r#Lrrr_select_for_exitPszfinalize._select_for_exitcCsd}z|jrddl}|jr:d}|jd}xt|dksXtjrm|j}dt_|stP|j}y|WqCtk
rt	j
t	jYqCXqCWWddt_|r|j
XdS)NFrT)rxgc	isenableddisablerryrrE	Exceptionsys
excepthookexc_infor{enable)r#reenable_gcrpendingrrrrruWs.	
	
	zfinalize._exitfunc)r.r/r0r1rxr{	itertoolscountrwryrsrrrDr(r}r~propertyrrpsetterrOclassmethodrrurrrrrs"	)_weakrefrrrrrrrr	_weakrefsetr
rcollectionsrrr
__all__rMutableMappingrrPrrrrrr<module>s:
		6
Back to Directory File Manager