Ñò ÓXc@s\ddkZddkZddkZddkZddkZd„Zddd„ƒYZdS(iÿÿÿÿNcCs±d}y6ti|titiB|ƒ}ti|tiƒWnbtj oV\}}|djo+yti|ƒWqtj oqXnt ||ƒ‚nXti |dƒS(Niÿÿÿÿsr+( tostopentO_RDWRtO_CREATtfcntltlockftLOCK_EXtOSErrortclosetIOErrortfdopen(tfilenametpermstfdterrnotstrerr((s;/usr/lib/python2.6/site-packages/ipaclient/ipachangeconf.pyt openLockeds  t IPAChangeConfcBseZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zd „Zd„Zdd„Zd„Zed„Zdd„Zd„Zd„Zd„Zd„Zd„Zd„Zed„ƒZed„ƒZed„ƒZRS(cCs|||_d |_d |_|id|_d |_|id|_d|_|id|_d|_d|_ t |_ dS(Nts = t=it#s t[t]t{t}(RRR(s = R(R(s (RR(RR( tprognametindenttassigntdassigntcommenttdcommentteoltdeolt sectnamdelt subsectdeltTruetcase_insensitive_sections(tselftname((s;/usr/lib/python2.6/site-packages/ipaclient/ipachangeconf.pyt__init__3s       cCs ||_dS(N(R(R%R&((s;/usr/lib/python2.6/site-packages/ipaclient/ipachangeconf.pyt setProgName@scCsSt|ƒtjo ||_n0t|ƒtjo|f|_n tdƒ‚dS(Ns Indent must be a list of strings(ttypettupleRtstrt ValueError(R%R((s;/usr/lib/python2.6/site-packages/ipaclient/ipachangeconf.pyt setIndentCs  cCs@t|ƒtjo ||_n |f|_|id|_dS(Ni(R)R*RR(R%R((s;/usr/lib/python2.6/site-packages/ipaclient/ipachangeconf.pytsetOptionAssignmentKs  cCs@t|ƒtjo ||_n |f|_|id|_dS(Ni(R)R*RR(R%R((s;/usr/lib/python2.6/site-packages/ipaclient/ipachangeconf.pytsetCommentPrefixRs  cCs@t|ƒtjo ||_n |f|_|id|_dS(Ni(R)R*RR (R%R((s;/usr/lib/python2.6/site-packages/ipaclient/ipachangeconf.pyt setEndLineYs  cCs ||_dS(N(R!(R%tdelims((s;/usr/lib/python2.6/site-packages/ipaclient/ipachangeconf.pytsetSectionNameDelimiters`scCs ||_dS(N(R"(R%R1((s;/usr/lib/python2.6/site-packages/ipaclient/ipachangeconf.pytsetSubSectionDelimiterscscCsCx<|iD]1}|iƒi|ƒo|iƒt|ƒSq WtS(N(Rtlstript startswithtlentFalse(R%tlinetv((s;/usr/lib/python2.6/site-packages/ipaclient/ipachangeconf.pyt matchCommentfs  cCs|iƒdjotStS(NR(tstripR#R7(R%R8((s;/usr/lib/python2.6/site-packages/ipaclient/ipachangeconf.pyt matchEmptylscCs±di|iƒiƒƒ}|io |iƒn|}t|iƒdjotS|i|idƒptS|i |idƒptS|t|idƒt|idƒ !S(NRiii( tjoinR;tsplitR$tlowerR6R!R7R5tendswith(R%R8tcl((s;/usr/lib/python2.6/site-packages/ipaclient/ipachangeconf.pyt matchSectionqscCss|i|ƒotS|i|idƒ}t|ƒdjotS|diƒ|idjo|diƒStS(Niii(R:R7R>RR6R;R"(R%R8tparts((s;/usr/lib/python2.6/site-packages/ipaclient/ipachangeconf.pytmatchSubSection}scCs8|i|ƒotS|iƒ|idjotStS(Ni(R:R7R;R"R#(R%R8((s;/usr/lib/python2.6/site-packages/ipaclient/ipachangeconf.pytmatchSubSectionEndŠs cCsBt|iƒdjo|S|i|id||id|iƒS(Niii(R6R!t _dump_lineR (R%tsection((s;/usr/lib/python2.6/site-packages/ipaclient/ipachangeconf.pytgetSectionLine“s  cGsdid„|DƒƒS(Nucssx|]}t|ƒVqWdS(N(tunicode(t.0tx((s;/usr/lib/python2.6/site-packages/ipaclient/ipachangeconf.pys œs (R=(R%targs((s;/usr/lib/python2.6/site-packages/ipaclient/ipachangeconf.pyRF›sic Csyg}|t|iƒjot|iƒd}nx&|D]}|ddjoV|i|i|id|d|idƒƒ|i|i|d|dƒƒq:n|ddjoƒ|i|i|i||d|i|idƒƒ|i|i|d|dƒƒ|i|i|i||idƒƒq:n|ddjo›|id |iƒ}||i joAt d |d i g}|i D] }||qŽ~ƒfƒ‚n|i|i|i||d||dƒƒq:n|dd jo'|i|i|i |dƒƒq:n|dd jo|idƒq:nt d|dƒ‚q:W|idƒ|ii |ƒS(NiR)RGiR&tvaluet subsectiontoptiontdelims&Unknown delim "%s" must be one of "%s"t RtemptyRsUnknown type: [%s](R6RtappendRFR!tdumpRR"tgetRR,R=Rt SyntaxErrorR (R%toptionstleveltoutputtoRPt_[1]td((s;/usr/lib/python2.6/site-packages/ipaclient/ipachangeconf.pyRTžsL!!A   cCs.|i|ƒohdd6dd6S|i|ƒ}|o hdd6dd6|iƒd6Stƒ}|i|idƒ}t|ƒdjojxI|idD]:}|i|dƒ}t|ƒdjo||dRR6RRVtupdateR;(R%R8RMRZRCR\((s;/usr/lib/python2.6/site-packages/ipaclient/ipachangeconf.pyt parseLineÉs(     6cCsŒd}xy|D]q}|d|jo|d|jo ||fS|o-|ddjp|ddjo |dfS|d7}q W|dfS(NiR)R&RGRNi(tNone(R%toptsR)R&texclude_sectionstnumRZ((s;/usr/lib/python2.6/site-packages/ipaclient/ipachangeconf.pytfindOptsäs"  c Cs´g}|t|iƒjot|iƒd}nxz|D]r}|ddjoŽ|i|d|dƒ}|i|i|id|d|idƒ}|ihdd6dd6|d6ƒx|D]}|i|ƒqÁWq:n|ddjo¿|i|d|dƒ}|i|i||d|i|idƒ}|ihdd6dd6|d6ƒ|i |ƒ|i|i||idƒ}|ihdd6dd6|d6ƒq:n|dd joy|i d |iƒ}||i jo+|i|i||d||dƒ}n|ihdd6dd6|d6ƒq:n|ddjo|i|ƒq:n|dd jo)|ihdd6dd6d d6ƒq:nt d |dƒ‚q:W|S(NiR)RGRMiR&RRNRORPRRRsUnknown type: [%s]( R6Rt commentOptsRFRR!RSRR"textendRURRV( R%tinoptsRXRbRZtnotvaltnRP((s;/usr/lib/python2.6/site-packages/ipaclient/ipachangeconf.pyRfðsh       "  c Csåg}xØ|D]Ð}|ddjp|ddjo|i||d|dƒ\}}|p|i|ƒq n|ddjoK|i|d|dƒ}|ih|dd6|dd6|d6ƒq n|ddjo8|i|dƒ}x|D]} |i| ƒqúWq n|dd joq ntd |dƒ‚n|ddjp|dd jo|i|ƒq n|dd jo:|i|d |dtƒ\}}|p|i|ƒq n|ddjp|dd jož|ddj o)|d|dj o|i|ƒq n|ddjoL|i|i|d|i |dƒ} |ihdd6dd6| d6ƒq q n|ddjo|i|ƒq ntd |dƒ‚ntd |dƒ‚q W|S(NR)RGRNR&tactiontsetRMRtremovesUnknown action: [%s]RRROsUnknown type: [%s]( ReRStmergeOldRfRVR#RaRFRR( R%toldoptstnewoptsRbRZRdRitmotcotcRM((s;/usr/lib/python2.6/site-packages/ipaclient/ipachangeconf.pyRo(sf"#   " " "    cCs d}x“|D]‹}|ddjp|ddjo”|i||d|dƒ\}}|p)|ddjo|i|ƒq q n|ddjo|i|d|dƒq n|d }q n|dd jog|i||d|dtƒ\}}|p)|ddjo|i|ƒq q n|d }q n|dd jp|dd jo!|i||ƒ|d 7}q ntd |dƒ‚q WdS(NiR)RGRNR&RlRmRMiRORRRsUnknown type: [%s](ReRStmergeNewR#tinsertRV(R%RbRqtclineRiRdRZ((s;/usr/lib/python2.6/site-packages/ipaclient/ipachangeconf.pyRuas6"# & " cCs&|i||ƒ}|i||ƒ|S(N(RoRu(R%RpRqRb((s;/usr/lib/python2.6/site-packages/ipaclient/ipachangeconf.pytmergeƒs c Csªg}g}d}g}d}|}|}x@|D]8} |i| ƒ} | oR|dj o&|ih|d6dd6|d6ƒng}|}|}| }q1n|i| ƒ} | o6|dj otdƒ‚ng}|}| }q1n|i| ƒ} | oR|djotdƒ‚n|ih|d6dd6|d6ƒd}|}q1n|i|i| ƒƒq1Wt|ƒdj o&|ih|d6dd6|d6ƒn|S( NR&RGR)RMs(nested subsections are not supported yets)Unmatched end subsection terminator foundRNi(RaRBRSRDRVRER`R6( R%tfRbtsectoptsRGt subsectoptsRNtcuroptst fatheroptsR8RM((s;/usr/lib/python2.6/site-packages/ipaclient/ipachangeconf.pytparse‘sX    c CsÓt}d}t}d}d}z~ti||dƒt|dƒ}|i|ƒ}|i||ƒ} |i| ƒ}|idƒ|i dƒ|i |ƒWdy|o|i ƒnWnt j onXXt S(NRs.ipabkpi¤i(R7Ratshutiltcopy2RR~RxRTtseekttruncatetwriteRR R#( R%tfileRqt autosectiont savedsectiontdoneRYRyRpRW((s;/usr/lib/python2.6/site-packages/ipaclient/ipachangeconf.pyt changeConfÒs(  c Csât}d}t}d}d}zyti||dƒWn)tj o}|idjoqenXt|dƒ}|idƒ|idƒ|i |ƒ}|i |ƒWdy|o|i ƒnWntj onXXt S(NRs.ipabkpii¤i( R7RaRR€R RRRR‚RTRƒRR#( R%R„RWR…R†R‡RYRyterr((s;/usr/lib/python2.6/site-packages/ipaclient/ipachangeconf.pytnewConfös,   cCs h|d6dd6dd6|d6S(NR&ROR)RmRlRM((R&RM((s;/usr/lib/python2.6/site-packages/ipaclient/ipachangeconf.pyt setOptions cCs h|d6dd6dd6dd6S(NR&ROR)RnRlRM(Ra(R&((s;/usr/lib/python2.6/site-packages/ipaclient/ipachangeconf.pytrmOptions cCs h|d6dd6dd6|d6S(NR&RGR)RmRlRM((R&RW((s;/usr/lib/python2.6/site-packages/ipaclient/ipachangeconf.pyt setSection#s ( t__name__t __module__R'R(R-R.R/R0R2R3R:R<RBRDRERHRFRTR`R7ReRfRoRuRxR~RˆRŠt staticmethodR‹RŒR(((s;/usr/lib/python2.6/site-packages/ipaclient/ipachangeconf.pyR1s8            +  8 9 "  A $ ((RRtstringttimeRRR(((s;/usr/lib/python2.6/site-packages/ipaclient/ipachangeconf.pyts