MINI MINI MANI MO

Path : /usr/lib/python2.7/site-packages/slip/util/
File Upload :
Current File : //usr/lib/python2.7/site-packages/slip/util/hookable.pyo

σ
ΎΓ9Qc@sqdZddgZdefd„ƒYZdefd„ƒYZdefd„ƒYZdeefd„ƒYZd	S(
s[This module contains variants of certain base types which call registered
hooks on changes.tHookabletHookableSettHookableTypecBs eZd„Zed„ƒZRS(cCs½|jdƒr§y|d}WnYtk
rxd}xCtd„|ƒD]+}|rktdt|ƒƒ‚qF|}qFWnXx+|dD]}tj||ƒ||<q„Wntj	||||ƒS(Nt_hookable_change_methodst_hookable_base_classcSs
|tkS(N(R(tx((s6/usr/lib/python2.7/site-packages/slip/util/hookable.pyt<lambda>$sstoo many base classes: %s(
thas_keytKeyErrortNonetfiltert	TypeErrortstrRtwrap_methodttypet__new__(tclstnametbasestdcttbasetbase_candidatet
methodname((s6/usr/lib/python2.7/site-packages/slip/util/hookable.pyRs
cs+t||ƒ‰‡fd†}||_|S(Ncs ˆ|||Ž}|jƒ|S(N(t
_run_hooks(tselftptktretval(tfunc(s6/usr/lib/python2.7/site-packages/slip/util/hookable.pyt
methodwrapper4s
(tgetattrt	func_name(RRRR((Rs6/usr/lib/python2.7/site-packages/slip/util/hookable.pyR
0s	(t__name__t
__module__RtclassmethodR
(((s6/usr/lib/python2.7/site-packages/slip/util/hookable.pyRs	t
_HookEntrycBs,eZd„Zd„Zd„Zd„ZRS(cCs||_||_||_dS(N(t_HookEntry__hookt_HookEntry__argst_HookEntry__kwargs(Rthooktargstkwargs((s6/usr/lib/python2.7/site-packages/slip/util/hookable.pyt__init__?s		cCs4|j|jko3|j|jko3|j|jkS(N(R$R%R&(Rtobj((s6/usr/lib/python2.7/site-packages/slip/util/hookable.pyt__cmp__Es$cCs-|jjƒ|jjƒA|jjƒjƒAS(N(R$t__hash__R%R&t	iteritems(R((s6/usr/lib/python2.7/site-packages/slip/util/hookable.pyR-IscCs|j|j|jŽdS(N(R$R%R&(R((s6/usr/lib/python2.7/site-packages/slip/util/hookable.pytrunMs(R R!R*R,R-R/(((s6/usr/lib/python2.7/site-packages/slip/util/hookable.pyR#=s			cBs’eZdZeZed„ƒZd„Zd„ZeeeƒZ	d„Z
d„Zee
eƒZd„Z
d„Zd„Zd	„Zd
„ZRS(s2An object which calls registered hooks on changes.cOs%t|dƒstƒ|_n|jS(Nt__real_hooks__(thasattrtsetR0(RRR((s6/usr/lib/python2.7/site-packages/slip/util/hookable.pyt	__hooks__WscCs"t|dƒst|_n|jS(Nt__hooks_enabled__(R1tTrueR4(R((s6/usr/lib/python2.7/site-packages/slip/util/hookable.pyt_get_hooks_enabled]scCs
||_dS(N(R4(Rtenabled((s6/usr/lib/python2.7/site-packages/slip/util/hookable.pyt_set_hooks_enabledbscCs"t|dƒst|_n|jS(Nt__hooks_frozen__(R1tFalseR9(R((s6/usr/lib/python2.7/site-packages/slip/util/hookable.pyt_get_hooks_frozengscCsY||jkrdS||_|r1tƒ|_n$x|jD]}|jƒq;W|`dS(N(thooks_frozenR9R2t__hooks_frozen_entries__R/(Rtfreezet	hookentry((s6/usr/lib/python2.7/site-packages/slip/util/hookable.pyt_set_hooks_frozenls	cCs
t|_dS(N(R5R<(R((s6/usr/lib/python2.7/site-packages/slip/util/hookable.pytfreeze_hooks{scCs
t|_dS(N(R:R<(R((s6/usr/lib/python2.7/site-packages/slip/util/hookable.pyt
thaw_hooks~scOs&t|||ƒ}|jj|ƒdS(N(R#R3tadd(RR'R(R)R?((s6/usr/lib/python2.7/site-packages/slip/util/hookable.pytadd_hookscOs |jjt|||ƒƒdS(N(R3tremoveR#(RR'R(R)((s6/usr/lib/python2.7/site-packages/slip/util/hookable.pytremove_hook‡scCsM|jrI|js3x1|jD]}|jƒqWqI|jj|jƒndS(N(t
hooks_enabledR<R3R/R=tupdate(RR?((s6/usr/lib/python2.7/site-packages/slip/util/hookable.pyR‹s
		(R R!t__doc__Rt
__metaclass__tpropertyR3R6R8RGR;R@R<RARBRDRFR(((s6/usr/lib/python2.7/site-packages/slip/util/hookable.pyRQs				
				c	BseZdZdZd
„ZRS(s5A set object which calls registered hooks on changes.RCtcleartdifference_updatetdiscardtintersection_updatetpopREtsymmetric_difference_updateRHcCstj|ƒ}tƒ|_|S(N(R2tcopyR0(RR+((s6/usr/lib/python2.7/site-packages/slip/util/hookable.pyRRœs(	saddsclearsdifference_updatesdiscardsintersection_updatespopsremovessymmetric_difference_updatesupdate(R R!RIRRR(((s6/usr/lib/python2.7/site-packages/slip/util/hookable.pyR”s
N(	RIt__all__RRtobjectR#RR2R(((s6/usr/lib/python2.7/site-packages/slip/util/hookable.pyt<module>s
"C

OHA YOOOO