KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 DAV/2 PHP/5.2.17
System : Linux localhost 2.6.18-419.el5 #1 SMP Fri Feb 24 22:47:42 UTC 2017 x86_64
User : nobody ( 99)
PHP Version : 5.2.17
Disable Function : NONE
Directory :  /proc/21572/root/usr/lib64/python2.4/site-packages/rhpl/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //proc/21572/root/usr/lib64/python2.4/site-packages/rhpl/genClass.pyc
m
Dc@sdZdZdZdZdkZdklZdkZdkZdkTddjZ	e	Z
eada
d	ad
adadad
adZdZdZdZdZdZdZdZdZeZdefdYZdfdYZdZ defdYZ!dZ"deefd YZ#d!Z$d"Z%ee
ed#Z&ee
d$Z'ee
ed%Z(ee
d&Z)e
d'Z*d(Z+dS()saGenerates classes with useful methods from xml data structure definition
file (alchemist style).
sHarald Hoyers$Date: 2006/07/25 09:26:03 $s$Revision: 1.20 $N(sUserList(t*itLISTtSTRINGtINTtBOOLtFLOATtBASE64t	ANONYMOUSt	PROTECTEDtATOMICtTYPEtFLAGStSELFtNAMEtPARENTt	CHILDKEYSt
ParseErrorcBstZdZRS(NcCsti||dS(N(t	Exceptiont__init__tselftarg(RR((t3/usr/lib64/python2.4/site-packages/rhpl/genClass.pyR8s(t__name__t
__module__R(((RR7stGenClasscBstZdZeedZedZdZdZdZ	dZ
dZdZd	Z
d
ZdZedZd
ZedZedZdZdZdZdZdZRS(sn this basic class will be common for all genClass generated classes
   and imported from a seperate module
   cCs|ii|_||_t|_d|_|i	|djo2|djo%t|t
o|i|dSnt|tio0|i|iid|idtnt|tio!|i||idtndS(sAConstructor with the parent list and optional the Alchemist list.iNtchanged(Rt	__class__t
Attributest_attributestparentt_parenttfalseRt_deadt_doCleartlisttNonet
isinstanceRtapplyt	AlchemisttContexttfromContexttgetDataRoottgetChildByIndextcommittData(RR"R((RR?s			
*

cCs
tdS(tStubN(tNotImplemented(RR((RR+VscCs
tdS(R-N(R.(Rtother((RR%ZscCs
tdS(R-N(R.(R((RR!^scCs
tdS(R-N(R.(R((Rt_addAttrbscCs
tdS(R-N(R.(R((Rt_createAttrfscCstpdSn|i|t}|tjo5|djo$|t	jo|t
jo
tqnD|djodSn/|tjoQt
|i|tjot|to
tqt|tp
tqn|tjo0t|tot|to
tqn|tjo0t|tot|to
tqnW|tjot|tp
tqn,|tjot|tp
tqndS(s3Check the type of the value passed to an assignmentN(t
StrictTypeRRtchildR
ttypeRtvalueR#ttrueRt	TypeErrorRRRR$t
GenAClassListtGenClassListRt
StringTypetunicodeRRtIntTypeRt	FloatType(RR3R5R4((Rt	checkTypejs4
'

)

"
"

cCs|iS(sGet the parent listN(RR(R((Rt	getParentscCs
||_dS(sSet the parent list (private)N(RRR(RR((Rt
_setParentscCs	|djodSnt|tiob|i}|idjo*|i|i
tt|i
tt
n|iid}nt|i
ttjo|idnt|i
ttjo|idnt|i
ttjo|idn|S(s;Convert this list to the internal Alchemist representation.Nii(R"R#R$R&R'R)tdrtgetNumChildrentaddChildRRRR
R
R*RRtsetAnonymousR	t	setAtomicRtsetProtected(RR"RA((Rt	toContexts 
cCs|itt}|i|S(sString representation.N(RRRR
t	parentStrt	_objToStr(RRH((Rt__str__scCsed}|itttjo-t|ittjot|od}|itt
d}|i|}|ttjo<x|D]-}||id||f7}|d7}qWnx|D]}|os|ttjo!|d||t|f7}n4|o|d||f7}n|d||f7}|d7}qqW|Snx|iiD]\}}|tjoq[nd}t||ot||}n|ttjoz|djoi|ttjo!|d||t|f7}q+|o|d	||f7}q+|d
||f7}q]q[|djo!||id||f7}q[q[W|S(
s+Internal recursive object to string method.tiis%s.%ds	%s.%d=%s
s%s.%d=true
s%s.%d=false
s	%s.%s=%s
s%s.%s=true
s%s.%s=false
s%s.%sN(tretstrRRRR
RRRtlentnumRtckeytattrR3RIRHtvalRtstrtitemsR#thasattrtgetattr(RRHRPRQRLR3RNRO((RRIsL=
!

!
%cCst|djodSn|d}yt|}WnnXt|djo;t|ittjo{|itt	d}t|to5t|t|jo||t|d<dSq|i
|}|||<dSn|i|ttjot||t|no|i|ttjoF|djot||tq|djot||tqnt|||dSnF||ittjo|i|d|dSnt|ittjo|itt	d}t|toCt|t|jo*|t|di|d|dSq|i
|}||i|d|dSnct||o5t||o%t||i|d|dSn|i|i|d|dS(s>Internal import method, which parses an snmp style assignment.iNiR6R(RMtvalstkeytintRRRRRRtcnameR$R5R0RNR
RtsetattrRR6RR
t
_parseLineRTRUR1(RRVR5RNRWRY((RR[sR
)


)" cCsdk}|ot|d}n
ti}|i}x|D]}
y||
d }
|i	|
d}	t|	djow?n|	d}|i
|	dd}|i	|d}	|i|	|Wq?tj
o7}ttd|
}|i|i7_|q?Xq?WdS(Ntrit=iit.sError parsing line: %s(tstringtfilenametopentfiletsyststdint	readlinestlinestlinetsplitRVRMRWtjoinR5RR[tStandardExceptionteRt_tpetargs(RR`RWRkR_RfR5RbRmRVRg((Rtloads(		

cCs:|ot|d}n
ti}|it|dS(Ntw(R`RaRbRctstdouttwriteRRR(RR`Rb((Rtsave2s	cCsdS(N((RR"((RR(9scCs|iodSnd|_|idjo|iiodSn|i}|`|i|oEt|d|itt	o&t
|d|itt	|ndS(Nitremove(RR RR#RR!RTRRR
RU(RR((Rtunlink?s
		
&cCs|iS(N(RR(R((RtmodifiedLscCs8||_|idjo|o|ii|ndS(N(RQRRRR#t
setChanged(RRQ((RRwOs	cCs1|i|ittdd}|i||S(N(RtnewClassRRR
R#tnR%(RRy((RtcopyTs 
(RRt__doc__R#RR6R+R%R!R0R1R>R?R@RGRJRIR[RoRsR(RuRvRwRz(((RR;s*					*				/	5		
		c		Csx|ittD]}|i|}|itd||\}}x|D]}t	|d|}|i}|id }|djo|fjo||f}n
|f}ti|i|i|||}t|||ti|d|qLWqWdS(Ntinstall_funcs_%sAttri(t	baseclassRRRtiRQtfuncstallfuncstfuncRUtftim_funct
func_defaultstdefArgsR#tnewtfunctiont	func_codetfunc_globalstnfuncRZtinstancemethod(	R}RRQRR~RRRR((Rt_install_funcsZs 
 	
	
R9cBstZdddZdZdZedZdZdZ	dZ
ddZdd	Zdd
Z
dZdZd
ZeddZddZddZddZddZRS(NcCsti|||dS(N(RRRR"R(RR"R((RRqscCsOxH|ittD]5}|i|}d|i|<d|id|d<qWdS(Nt__t_bak(RRRRR~RQR#t__dict__(RRQR~((RR!ts


cCsx||ittD]i}|i|}|ttjo'|i|o|i|i	q{qt
|d||i|qWdS(Nttest(RRRRR~RQR
RRRRU(RRQR~((RRzs
cCs\xU|ittD]B}|i|}t|d|ot|d||qqWdS(NR+(	RRRRR~RQRTRUR(RRRQR~((RR+s

cCs4x-|ittD]}t|d|qWdS(Ntrollback(RRRRR~RU(RR~((RRscCs
ti|S(N(RRJR(R((RRJscCs|djo|idSnx|ittD]}|i|}|t	t
jo+t|d|t|d|q1t|d|}|djo!|i
t|d|q1q1WdS(Ntsettgettcreate(R/R#RRuRRRR~RQR
RRUR3R%(RR/RQR~R3((RR%s


+
cCsdS(Ni((RR5R3((Rt	_testAttrscCs|i|S(N(RRR3(RR3((Rt_getAttrscCsd|i|<dS(N(R#RRR3(RR3((Rt_delAttrscCs@t|d|ot|d||n||i|<dS(NR(RTRtnameRUR5R(RRR5((Rt__setattr__scCsoti||}|djodSnxA|ittD].}t	||}|i|ttjoJ|djo9|i
|i|t|i|t}|i|qgq9|djomy|i|i|t}Wqgtj
o<|i
|i|t|i|t}|i|qgXq9|i|i|to"|i|i|tiq9q9WdS(N(RRGRR"R#RRRR3RURQR
RRCR
tachildtgetChildByNametKeyErrortsetValuet
hasChildNamedRu(RR"RQR3R((RRGs(


cCs|pdSnt|tio|iid}nti||x|i	t
tD]}|i	|t
tjo.t|||i|i	|tiq]|i|i	|t}|i|i	|t||}t|||q]WdS(Ni(R"R$R&R'R)R*RR(RRRRR3R
RRZRR
tgetValueRRxtnchild(RR"RR3R((RR(s	%cCst||}|i|ttjo+t|dot|d|qRnt|d|d|jo|i	|nt
|d|d|dS(NR+RR(RURR3tcdRR
RRTRRwRZ(RRR3R((Rt_commitAttrscCst|d|dott||t|d|d|i|ttjo7t||}t|dot|dqqnt||ddS(NRRR(
RTRR3RZRURR
RtcoR#(RR3R((Rt
_rollbackAttrs!cCsB|i||||i|<ttto|i|ndS(N(	RR>R3R5RR$R"Rt	setParent(RR5R3((Rt_setAttrs
cCsTt||}|djo4|i|i|td|}t|||n|S(N(	RURR3RQR#RxRR
RZ(RR3RQ((RR1s

 cCsDt||}||jo$|}t||d|indS(N(RURt	childnameRQR3RZR#Ru(RR3RRQ((Rt_removeAttrs

(RRR#RR!RR6R+RRJR%RRRRRGR(RRRR1R(((RR9ps$									
	cCsrdddddg}|ttjo|idn|iddgddddddddg}||fS(	NRtdelRR+RRRRt(RRQR
RtappendtextendR(tklassRQRR((RtGenClassList_get_install_funcsst
GenClassAListcBstZdddZdZdZdZdZedZ	dZ
dZd	Zdd
Z
ddZddZdd
ZdZdZdZdZddZddZdZdZddZRS(NcCs$ti|ti|||dS(N(tUserListRRRR"R(RR"R((RRs
cCsg|_g|_dS(N(Rtdatatdata_bak(R((RR!s	cCs"x|iD]}|iq
WdS(N(RRR3R(RR3((RR!s
cCs
ti|S(N(RRJR(R((RRJ%scCsti||}|djodSnx-t|iD]}|idi	q:Wx|i
ttD]~}|i
|}xh|iD]]}|i|i
|t|i
|t}|ttjo|i|q|i|qWqiWdS(Ni(RRGRR"R#txrangeRBR~R*RuRRRRQRR3RCR
R
RRR(RR"RRQR~R3((RRG(s 


cCsR|idjo!|idjo|i|n|idjo!|idjo|i|nt|it|ijo|i|nQxMtdt|iD]3}|i||i|jo|i|PqqWx\|i	t
tD]I}|i	|}|t
tjo%x"|iD]}|i|q"WqqW|i|_dS(Ni(RRR#RRwRRMRR~RRRRQR
RR3R+(RRRQR~R3((RR+9s&  
	

cCsc|pdSnt|tio|iid}nti||x|i	t
tD]}|i	|}x;tt|d|D]}t|d|dqW|ttjoZxt|iD]?}|i|i	|t|i||}|ii|qWq]x?t|iD]+}|i|}|ii|iq,Wq]WdS(NitgetNumR(R"R$R&R'R)R*RR(RRRRR~RQRRUtposR
RRBtjRxR
R3RRR(RR"R3RQR~RR((RR(Ss*
cCsmxY|ittD]F}|i|}|ttjo"x|iD]}|i
q@WqqW|i|_dS(N(RRRRtchildkeyRQR
RRR3RR(RRQRR3((RRhs

cCsu|djo|idSnxO|ittD]<}|i|}x;t	t
|d|D]}t
|d|dqaW|tt
jolxt	t
|d|D]G}t
|d|t
|d||t
|d||qWq1xkt	t
|d|D]M}t
|d|t
|d||it
|d||qWq1WdS(NRRitaddRR(R/R#RRuRRRR3RQRRURR
RR%(RR/RQR3R((RR%ps&


"cCs|i|S(N(RRR(RRR3((RRscCs|ii|dS(Ni(RRtpopR(RRR3((RRscCs
t|iS(N(RMRR(RR3((Rt_getNumAttrscCsJd}||jo
d}n|ii|}|ii|||dS(Nii(tdirecttpos2tpos1RRRtobjtinsert(RRRR3RR((Rt	_moveAttrs

cCs]|ittd}|i||t|to|i	|nt
i|||dS(Ni(
RRRRR3R>titemR$RR@Rt__setitem__R~(RR~RR3((RRs
cCsti|||S(N(Rt__getslice__RR~R(RR~R((RRscCsti||||S(N(Rt__setslice__RR~Rts(RR~RR((RRscCsti|||S(N(Rt__delslice__RR~R(RR~R((RRscCsm|i|ttjo4|i|i|td|}|i	i
|n|i	i
dt|i	dS(Ni(RRR3R
RRxR
R#RRRRM(RR3R((RR0s
 cCs+y|i|Wntj
onXdS(N(RRtRQt
ValueError(RRQR3((RRscCs5ti||t|to|i|ndS(N(RRRRR$RR@(RR((RRscCs$ti||||i|dS(N(RRRR~RR@(RR~R((RRscCs!|i||||i|<dS(Ni(RR>R3R5RR(RRR5R3((RRs
(RRR#RR!RRJRGR6R+R(RR%RRRRRRRRR0RRRR(((RRs,													cCs=ddddddg}dddddddg}||fS(NRRtmoveRRRRt(RR(RRQRR((RtGenClassAList_get_install_funcsscCs|tt}|tttjo
tnt|ttjot	}t|td<nt}t
|td<ddd}ddd}ti|d|fhd|<d|<d|<d|<d	|<}t|ti||fh}||fS(
NR|cCs4t|ido|iii|||ndS(Nt
_ListClass(RTRRRRR"R(RR"R((RtGenClass_init_funcscCs0|ii|}|o|||SndSdS(N(RRt_Globalst	classnameRR"RR#(RRR"RR((RtGenClass_newClass_funcst_baseRRRRRx(t
attributesRR
RR
RtAttributeErrorRRRtlisttypeRR9RR#RRRtclassobjt	myglobalstnewclassRt	implclass(RRRRRRRR((RtGenClass_new_classs 
6
	cCsdk}	|i|iodSnd||i<htht|i<tt	<t
g<t|<t
g<<}|io|tt
itn|io|tt
itn|io|tt
itn|i}h}|o|d|tt}n|tt}xSt|D]E}
|i|
}|i|	ii jot!||d|q9q9Wx@t|D]2}
|i|
}|i}||tt
joqn|ot$i%|}n|}|i}
ht|<t|
<t
g<||<|tt
i||i|	ii jov|io||t
itn|io||t
itn|io||t
itqqqWt(||\}}|||id<|||i<dS(NR^RR(+R&Rthas_keyR"tgetNameR#RR
R
RRRRRRtisAnonymousRRtisAtomicR	tisProtectedRRBRNtretvaltpnameRR~R*R3tgetTypeR,t
ADM_TYPE_LISTt__generateClassAlchemistRYtoptlowerRRtlowertclnametctypeRR}R(R"RRRR3RNRR}RYR&RRRR~RR((RRsV	B




%


!c	Cstidddd}|i}|itiid}|itii	di
||itii	di
d|itiidi
t
|itiid	i
tti|}|io d
|iGHtidn|ioV|i}|djo9|io(d|d
|iGHtidqSqqnd|dGHtid|iid}t|d|idS(NRtFileBlackBoxtserialitbox_cfgtpathtbox_typetreadabletwritablesError creating FileBlackBox: i
sError reading s: sError: s is not readable!iR(R&R'tbbcR)tbrootRCR,RR"tADM_TYPE_STRINGRtboxpatht
ADM_TYPE_BOOLR6RRtbbterrNotstrErrorRctexitt
isReadabletreadtconR#R*RARtmodR(	RRtOptLowerRRR"RRAR((Rt#__GenClass_read_classfile_Alchemist5s,





cCs|ii}
|i|
odSnd||
<htht|
<t	t
<tg<t|<tg<<}d|iijo9ti|ididjo|ttitnd|iijo9ti|ididjo|ttitnd|iijo9ti|ididjo|ttitnh}|o|d|tt}n|tt}xx|iD]m}	|	i|	ijoqnd|	iijo7ti|	ididjot|	|d|qqWd	}x|iD]}	|	i|	ijoqn|	ii}
|
|ttjoqn|d
7}|ot"i#|
}n|
}d|	iijoti|	idi}|djot&i'i(}qv|djot&i'i)}qv|djot&i'i*}qv|d
jot&i'i+}qv|djot&i'i,}qv|djot&i'i-}qvnt.ht|<t	|<tg<||
<|tti|
|t&i'i(jod|	iijo9ti|	ididjo||
titnd|	iijo9ti|	ididjo||
titnd|	iijo9ti|	ididjo||
titqqqWt/||\}}|||
d<|||
<dS(NRtTRUER	RR^R
RRiiRRRRRR(2R"tnodeNametencodetlistnameRRR#RR
R
RRRRRRtkeysR;tupperR5RRR	RRRt
childNodesR3tnodeTypetELEMENT_NODEt__generateClasstchildnumRYRRRRRRR&R,RRtADM_TYPE_INTRtADM_TYPE_FLOATtADM_TYPE_BASE64tNOCHILDATTRRR}R(R"RRRRRRR}RR3RRRRYR((RRSsx
<666
6







%666!cCsdk}|iii|}|ididd}d}x2|iD]'}|i
|ijoqHn|}PqHWt|d|idS(NitdatatreeR(txml.dom.minidomtxmltdomtminidomtparseRtdocRtgetElementsByTagNametdtR#RARkRRRRR(RRRRRkRRAR((Rt__GenClass_read_classfiles	
cCsd}t|dot|d}n|oedkatiiatii	a
tiiatii
atiiatiiat|||n$dfdYat|||dS(sOLoad the classfile and use the Alchemist, if Use_Alchemist is set in the modulet
Use_AlchemistNR&cBs.tZdfdYZdfdYZRS(NR,cBs,tZeZeZeZeZ	e
ZeZ
RS(N(RRRRRRRRRRRRRR(((RR,sR'cBstZRS(N(RR(((RR's(RRR,R'(((RR&s	(R#t
use_AlchemistRTRRUR&R,RRRRRRRRRRRRRRRR(RRRR((RtGenClass_read_classfiles,	
s
Changelog:
$Log: genClass.py,v $
Revision 1.20  2006/07/25 09:26:03  harald
correctly parse bool values

Revision 1.19  2005/12/14 21:18:33  clumens
Stop using rhpl.log.

Revision 1.18  2003/04/29 10:39:23  harald
some restructuring and documentation

(,R{t
__author__t__date__t__version__RRRct	tracebackttypesR6RR#R&RRRRRRRRR	R
RRR
RRR2RRRRR9RRRRRRRRRt__credits__(!RRRRR	RRRRRRRRRRR9RRcRRRRR6R2R
RRRRRRRR
((Rt?sT	
		 					$?X'

Anon7 - 2021