mò /á¸Ec@sfdkZdklZdklZdeifd„ƒYZdfd„ƒYZdfd„ƒYZdS( N(sImplicit(sRecordtSQLAliascBstZd„Zd„ZRS(NcCs ||_dS(N(tnametselft_n(RR((t5/data/zmath/zope/lib/python/Shared/DC/ZRDB/Results.pyt__init__scCst||iƒS(N(tgetattrtparentRR(RR((Rt__of__s(t__name__t __module__RR(((RRs tNoBrainscBstZRS(N(R R (((RR stResultscBsttZdZeZdZeeed„Zd„Zd„Z d„Z d„Z d„Z d„Z d „Zd „ZRS( s<Class for providing a nice interface to DBI result data icCs•|\}}||_||_||_g|_}h|_ } h|_ } g}|djo t}nd}xô|D]ì}|d} | iƒ} | ptd| ‚n| i| ƒotd| ‚n|| | <| iƒ}|| jo|i|t| ƒfƒn| iƒ}|| jo|i|t| ƒfƒn|| | <|i| ƒ|d}qxWt|ƒ|_} t|ƒ}dt t!||fd„ƒY}| |_$xEt i%i&ƒD]4}|d d jot(||t)t |ƒƒq¿q¿Wx8|D]0\}}t+||ƒpt(|||ƒqþqþWt+|d ƒoF|i,}t+|d ƒo |i.}n|d „} t(|d | ƒn||_/dS( NiRsEmpty column name, %ssDuplicate column name, %sitrcBstZdZRS(sResult record class(R R t__doc__(((RR As it__Rtim_funccCs>ti||ƒ|dj o|i|ƒ}n||ƒdS(N(tRecordRRtdataRtNoneRtbinit(RRRR((RRQs (0titemsRRt_datat __items__Rt_parentt_namestnamest_schematschemat_data_dictionarytddtaliasestzbrainsRR tititemRtstript ValueErrorthas_keytlowertntappendRtuppertlent_nvtnvttupleRtImplicittbrainsR t__record_schema__t__dict__tkeystktsetattrRtvthasattrRRRt_class(Rt.2R/RR RRRRRR,RRRRR!R3R'R"R R5((RR s^                   !    cCs|iS(N(RR(R((Rt_searchable_result_columns\scCs|iS(N(RR(R((RR]scCs|iS(N(RR(R((Rtdata_dictionary^scCs t|iƒS(N(R*RR(R((Rt__len__`scCss||ijo |iSn|i}|i|i||ƒ}|dj o|i |ƒ}n||_||_|S(N( tindexRt_indext_rowRRR7RtfieldsRR(RR<RR?((Rt __getitem__bs     cCs tt|ƒS(N(tmapR-R(R((RttupleskscCs_g}|i}|iƒ}x=|D]5}h}x|D]}||||