ROOTPLOIT
Server: LiteSpeed
System: Linux server71.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64
User: niphet (1079)
PHP: 5.3.29
Disabled: NONE
Upload Files
File: //lib64/python2.7/Demo/newmetaclasses/Eiffel.pyc
ó
¿œ^c@s±dZddlmZdefd„ƒYZdefd„ƒYZddd„ƒYZd	efd
„ƒYZ	defd„ƒYZ
d
„Zedkr­eeƒee
ƒndS(s6Support Eiffel-style preconditions and postconditions.iÿÿÿÿ(tFunctionTypetEiffelBaseMetaClasscBs eZd„Zed„ƒZRS(cCs,|j|ƒtt|ƒj||||ƒS(N(tconvert_methodstsuperRt__new__(tmetatnametbasestdict((s2/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyRs
cCsßg}xo|jƒD]a\}}|jdƒs=|jdƒrUt|tƒstt‚qt|tƒr|j|ƒqqWx`|D]X}|jd|ƒ}|jd|ƒ}|s·|r|j||||ƒ||<qqWdS(síReplace functions in dict with EiffelMethod wrappers.

        The dict is modified in place.

        If a method ends in _pre or _post, it is removed from the dict
        regardless of whether there is a corresponding method.
        t_pret_posts%s_pres%s_postN(t	iteritemstendswitht
isinstancetfunctiontAssertionErrortappendtgettmake_eiffel_method(tclsRtmethodstktvtmtpretpost((s2/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyRs

(t__name__t
__module__RtclassmethodR(((s2/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyRs	tEiffelMetaClass1cBseZed„ƒZRS(cs1‡‡‡fd†}ˆjr-ˆj|_n|S(NcsKˆrˆ|||Žnˆ|||Ž}ˆrGˆ||||Žn|S(N((tselftargstkwargstx(tfuncRR(s2/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pytmethod's(t__doc__(R"RRR#((R"RRs2/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyR%s	(RRtstaticmethodR(((s2/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyR"stEiffelMethodWrappercBseZd„Zd„ZRS(cCs||_||_dS(N(t_instt_descr(Rtinsttdescr((s2/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyt__init__6s	cOs|jj|j||ƒS(N(R(t
callmethodR'(RRR ((s2/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyt__call__:s(RRR+R-(((s2/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyR&4s	tEiffelDescriptorcBs#eZd„Zd„Zd„ZRS(cCs7||_||_||_|j|_|j|_dS(N(t_funcR	R
RR$(RR"RR((s2/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyR+?s
			cCs
t||ƒS(N(R&(RtobjR((s2/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyt__get__GscCsZ|jr|j|||Žn|j|||Ž}|jrV|j||||Žn|S(N(R	R/R
(RR)RR R!((s2/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyR,Js		(RRR+R1R,(((s2/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyR.=s		tEiffelMetaClass2cBseZeZRS((RRR.R(((s2/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyR2Rscsdd‡fd†ƒY}d|fd„ƒY}d|f‡fd†ƒY‰|ƒ}|jdƒ|jdƒy|jdƒWntk
r’n
XtsŸt‚ˆƒ}y|jdƒWntk
rÌn
XtsÙt‚y|jd	ƒWntk
rýn
Xts
t‚|jd
ƒdS(NtEiffelcseZˆZRS((RRt
__metaclass__((t	metaclass(s2/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyR3XstTestcBs,eZd„Zd„Zd„Zd„ZRS(cSs|dS(sMake it a little largeri((Rtarg((s2/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyR]scSs|dS(sMake it a little largeri((RR7((s2/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pytm2ascSs|dkst‚dS(Ni(R(RR7((s2/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pytm2_preescSs||kst‚dS(N(R(RtresultR7((s2/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pytm2_posths(RRRR8R9R;(((s2/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyR6[s			tSubcs eZd„Z‡fd†ZRS(cSs|dS(Ni((RR7((s2/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyR8lscs/tˆ|ƒj||ƒ|dks+t‚dS(Nid(RR;R(RtResultR7(R<(s2/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyR;ns(RRR8R;((R<(s2/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyR<ks	iii
i((RR8RtFalse(R5R3R6ttts((R<R5s2/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyt_testWs.	


	

t__main__N((
R$ttypesRRttypeRRR&tobjectR.R2RAR(((s2/usr/lib64/python2.7/Demo/newmetaclasses/Eiffel.pyt<module>s		4