mς 0αΈEc@s~dZdkZeiiddƒdfd„ƒYZdfd„ƒYZdefd„ƒYZd fd „ƒYZeƒZ dS( sxIterator class BBB 2005/05/01 -- to be removed after 12 months $Id: Iterator.py 68333 2006-05-29 10:34:19Z philikon $ NtIterators³Iterator has been deprecated and will be removed in Zope 2.12. PageTemplates now use the Zope 3 implementation. Use ZopeIterator from Products.PageTemplates.Expressions instead.cBsοtZdZdZdZd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z e d ƒd d „Zd„Zd/d0d1d2d3d4d5d6d7d8d9d:d;f d(„Zd)„Zed*„Zed+„Zd,„Zd-„Zd.„ZRS(<sSimple Iterator classiicCsK||_ti||ƒot|_ti|_dSntd| ‚dS(NsIterator does not support %s(tseqtselft iterInnert _supportst_innert prep_nextt _prep_nextt TypeError(RR((t//data/zmath/zope/lib/python/ZTUtils/Iterator.pyt__init__!s    cCsCyt|id|ƒ}Wntj ot|‚nX||ƒS(Ntit_(tgetattrRRtnametinnertAttributeError(RR R((R t __getattr__)s cCsVt|dƒp |i|ƒpdSn|i|_}|d|_|i|ƒdS(Nt_nextii(thasattrRRt nextIndextindextit_advance(RR((R tnext0s    cCs4|i|_|`|`|ii|_d|_dS(Ni(RRtitemtendRtadvanceRtstart(Rtit((R R8s  cCs|iS(N(RR(R((R tnumber?scCs |id S(Ni(RR(R((R tevenAscCs |idS(Ni(RR(R((R toddCscCs|idodSndS(NiRR(RR(R((R tparityEstaicCsS|i}d}x=t||ƒ\}}t||ƒ|}|p|SqqWdS(Nti(RRtstdivmodtradixtofftchrtbase(RR(R%RR&R#((R tletterJs cCs|idtdƒƒS(NR(tA(RR)tord(R((R tLetterRsiθtMi„tCMiτtDitCDidtCiZtXCi2tLi(tXLi tXi tIXitVitIVtIcCsQ|id}d}x7|D]/\}}t||ƒ\}}|||}qW|S(NiR"( RRtnR#trnvaluestvtrR$trct(RR;R>R:R#R=R<((R tRomanUs  cCs|iƒiƒS(N(RR?tlower(R((R troman`scCs,|iodSn|i||i|iƒ S(Ni(RRt same_partR t_lastR(RR ((R tfirstcs cCs,|iodSn|i||i|iƒ S(Ni(RRRBR RR(RR ((R tlastgs cCs t|iƒS(N(tlenRR(R((R tlengthkscCsT|djo||jSng}t|||ƒt|||ƒjo |j nS(N(R tNonetob1tob2tnoR (RR RIRJRK((R RBns cCs t|ƒS(N(tIterIterR(R((R t__iter__ts(iθR-(i„R.(iτR/(iR0(idR1(iZR2(i2R3(i(R4(i R5(i R6(iR7(iR8(iR9(t__name__t __module__t__doc__t*__allow_access_to_unprotected_subobjects__RR RRRRRRR R+R)R,R?RARHRDRERGRBRM(((R Rs(          3     t InnerBasecBs2tZdZd„Zd„Zd„Zd„ZRS(sBase Inner class for IteratorscCs|i|_d|_dS(Nii(Rtno_nextRRR(RR((R Rzs  cCs1|i|_|i|_|`|`d|_dS(Ni(RRRCRRR(RR((R R€s   cCsdS(Ni((RR((R RS‡scCs&t|dƒodSn|i|ƒ S(NRi(RRRR(RR((R tit_endŠs(RNRORPRRRSRT(((R RRws    t IterInnercBs tZdZd„Zd„ZRS(s6Iterator inner class for objects with Python iteratorscCs)yt|ƒ|_dSWn dSnXdS(Nii(titertobR(RRWR((R R’s cCsRy|iiƒ|_Wn,tj o |i|_d|_dSnXd|_dS(Nii( RRVRRt StopIterationRRSRR(RR((R R™s    (RNRORPRR(((R RUs  RLcBstZd„Zd„ZRS(NcCs*||_|idjo|i |_dS(Ni(RRRRtskip(RR((R R €s cCsI|i}|iod|_|iSn|iƒo |iSnt‚dS(Ni(RRRYRRRX(RR((R R§s      (RNROR R(((R RL£s ( RPtzope.deprecationtzopet deprecationt deprecatedRRRRURLR(RURRRRLRR[((R t?s  \