Viewing File: /usr/lib64/python2.7/Demo/metaclasses/Meta.pyc

ó
V
Qc@s€dZddlZddd„ƒYZdd
d„ƒYZddd„ƒYZed	diƒZd
„Zedkr|eƒndS(s?Generic metaclass.

XXX This is very much a work in progress.

iÿÿÿÿNtMetaMethodWrappercBseZd„Zd„ZRS(cCs%||_||_|jj|_dS(N(tfunctinstt__name__(tselfRR((s-/usr/lib64/python2.7/Demo/metaclasses/Meta.pyt__init__s		cOst|j|jf||ƒS(N(tapplyRR(Rtargstkw((s-/usr/lib64/python2.7/Demo/metaclasses/Meta.pyt__call__s(Rt
__module__RR	(((s-/usr/lib64/python2.7/Demo/metaclasses/Meta.pyR	s	t
MetaHelpercBs eZeZd„Zd„ZRS(cCs
||_dS(N(t__formalclass__(Rtformalclass((s-/usr/lib64/python2.7/Demo/metaclasses/Meta.pyt__helperinit__scCs–y|jj|ƒ}WnTtk
rly|jjdƒ}Wn ttfk
r^t|‚nX|||ƒSXt|ƒtjkr†|S|j||ƒS(Nt__usergetattr__(Rt__getattr__tAttributeErrortKeyErrorttypettypestFunctionTypet__methodwrapper__(Rtnametrawtga((s-/usr/lib64/python2.7/Demo/metaclasses/Meta.pyRs

(RR
RRRR(((s-/usr/lib64/python2.7/Demo/metaclasses/Meta.pyRs	t	MetaClasscBs>eZdZeZdZd„Zd„Zd„Zd„Z	RS(scA generic metaclass.

    This can be subclassed to implement various kinds of meta-behavior.

    icCs[y|d}Wntk
r!nX||d<|d=||_||_||_d|_dS(NRRi(RRt	__bases__t__realdict__t_MetaClass__inited(RRtbasestdictR((s-/usr/lib64/python2.7/Demo/metaclasses/Meta.pyR4s

			cCsiy|j|SWnStk
rdx6|jD]+}y|j|ƒSWq)tk
rSq)Xq)Wt|‚nXdS(N(RRRRR(RRtbase((s-/usr/lib64/python2.7/Demo/metaclasses/Meta.pyRAs

cCs*|js||j|<n
||j|<dS(N(Rt__dict__R(RRtvalue((s-/usr/lib64/python2.7/Demo/metaclasses/Meta.pyt__setattr__Ls	cOs]|jƒ}|j|ƒy|jdƒ}Wntk
rHd„}nXt|||ƒ|S(NRcSsdS(N(tNone(((s-/usr/lib64/python2.7/Demo/metaclasses/Meta.pyt<lambda>Xs(t
__helper__RRRR(RRRRtinit((s-/usr/lib64/python2.7/Demo/metaclasses/Meta.pyR	Rs


(
RR
t__doc__RR&RRRR#R	(((s-/usr/lib64/python2.7/Demo/metaclasses/Meta.pyR(s	
		tMetacCsidtfd„ƒY}|GH|ƒ}|GH|jdƒd|fd„ƒY}|ƒ}|jGH|jGHdS(NtCcBseZd„Zd„ZRS(cWs
dG|GHdS(Ns__init__, args =((RR((s-/usr/lib64/python2.7/Demo/metaclasses/Meta.pyRbscSsd|fGHdS(Nsm1(x=%r)((Rtx((s-/usr/lib64/python2.7/Demo/metaclasses/Meta.pytm1ds(RR
RR,(((s-/usr/lib64/python2.7/Demo/metaclasses/Meta.pyR*as	itDcBseZd„ZRS(cSs$|d dkrt|‚nd|S(Nit__s
getattr:%s(R(RR((s-/usr/lib64/python2.7/Demo/metaclasses/Meta.pyRks(RR
R(((s-/usr/lib64/python2.7/Demo/metaclasses/Meta.pyR-js(R)R,tfoot_foo(R*R+R-((s-/usr/lib64/python2.7/Demo/metaclasses/Meta.pyt_test`s	
	t__main__(((((R(RRRRR)R1R(((s-/usr/lib64/python2.7/Demo/metaclasses/Meta.pyt<module>s
5	
Back to Directory File Manager