mò %U²Ic@sÌdZdkZydklZWn ej odklZnXddddgZdefd„ƒYZdefd„ƒYZ dfd „ƒYZ dfd „ƒYZ d „Z e d jo e ƒndS( sRImplements (a subset of) Sun XDR -- eXternal Data Representation. See: RFC 1014 N(sStringIOtErrortPackertUnpackertConversionErrorcBs)tZdZd„Zd„Zd„ZRS(s¸Exception class for this module. Use: except xdrlib.Error, var: # var has the Error instance for the exception Public ivars: msg -- contains the message cCs ||_dS(N(tmsgtself(RR((t#/data/zmath/lib/python2.4/xdrlib.pyt__init__scCs t|iƒS(N(treprRR(R((Rt__repr__scCs t|iƒS(N(tstrRR(R((Rt__str__s(t__name__t __module__t__doc__RR R (((RRs   cBstZRS(N(R R (((RR"scBs­tZdZd„Zd„Zd„ZeZd„ZeZeZ d„Z d„Z e Z d„Z d„Zd „ZeZd „ZeZeZd „Zd „Zd „ZRS(s0Pack various data representations into a buffer.cCs|iƒdS(N(Rtreset(R((RR*scCstƒ|_dS(N(t _StringIORt _Packer__buf(R((RR-scCs |iiƒS(N(RRtgetvalue(R((Rt get_buffer0scCs |iitid|ƒƒdS(Ns>L(RRtwritetstructtpacktx(RR((Rt pack_uint5scCs/|o|iidƒn|iidƒdS(Ntt(RRRR(RR((Rt pack_bool;scCs*|i|d?d@ƒ|i|d@ƒdS(Ni lÿÿ(RRR(RR((Rt pack_uhyper?scCsHy |iitid|ƒƒWn!tij o}t|‚nXdS(Ns>f( RRRRRRterrorRR(RRR((Rt pack_floatEs cCsHy |iitid|ƒƒWn!tij o}t|‚nXdS(Ns>d( RRRRRRRRR(RRR((Rt pack_doubleJs cCsb|djo td‚n|| }|ddd}||t|ƒd}|ii|ƒdS(Nis fstring size must be nonnegativeiit(tnt ValueErrortstdatatlenRRR(RR!R#R$((Rt pack_fstringOs    cCs-t|ƒ}|i|ƒ|i||ƒdS(N(R%R#R!RRR&(RR#R!((Rt pack_stringYs  cCs9x%|D]}|idƒ||ƒqW|idƒdS(Nii(tlisttitemRRt pack_item(RR(R*R)((Rt pack_listas  cCs?t|ƒ|jo td‚nx|D]}||ƒq'WdS(Nswrong array size(R%R(R!R"R)R*(RR!R(R*R)((Rt pack_farraygs  cCs0t|ƒ}|i|ƒ|i|||ƒdS(N(R%R(R!RRR,R*(RR(R*R!((Rt pack_arrayms  (R R RRRRtget_bufRtpack_intt pack_enumRRt pack_hyperRRR&t pack_fopaqueR't pack_opaquet pack_bytesR+R,R-(((RR's*             cBsÅtZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z e Z e Z d „Z d „Zd „Zd „Zd „ZeZd„ZeZeZd„Zd„Zd„ZRS(s;Unpacks various data representations from the given buffer.cCs|i|ƒdS(N(RRR$(RR$((RRwscCs||_d|_dS(Ni(R$Rt_Unpacker__buft_Unpacker__pos(RR$((RRzs cCs|iS(N(RR6(R((Rt get_position~scCs ||_dS(N(tpositionRR6(RR8((Rt set_positionscCs|iS(N(RR5(R((RR„scCs-|it|iƒjotdƒ‚ndS(Nsunextracted data remains(RR6R%R5R(R((Rtdone‡scCs‰|i}|d|_}|i||!}t|ƒdjo t‚nti d|ƒd}yt |ƒSWnt j o |SnXdS(Nis>Li( RR6titjR5R$R%tEOFErrorRtunpackRtintt OverflowError(RR;R<RR$((Rt unpack_uint‹s  cCs[|i}|d|_}|i||!}t|ƒdjo t‚nti d|ƒdS(Nis>li( RR6R;R<R5R$R%R=RR>(RR;R<R$((Rt unpack_int—s   cCs*|iƒ}|iƒ}t|ƒd>|BS(Ni (RRAthitlotlong(RRDRC((Rt unpack_uhyper¢s  cCs+|iƒ}|djo|d}n|S(Nll(RRFR(RR((Rt unpack_hyper§s  cCs[|i}|d|_}|i||!}t|ƒdjo t‚nti d|ƒdS(Nis>fi( RR6R;R<R5R$R%R=RR>(RR;R<R$((Rt unpack_float­s   cCs[|i}|d|_}|i||!}t|ƒdjo t‚nti d|ƒdS(Nis>di( RR6R;R<R5R$R%R=RR>(RR;R<R$((Rt unpack_doubleµs   cCst|djo td‚n|i}||ddd}|t|iƒjo t‚n||_|i|||!S(Nis fstring size must be nonnegativeii( R!R"RR6R;R<R%R5R=(RR!R;R<((Rtunpack_fstring½s     cCs|iƒ}|i|ƒS(N(RRAR!RJ(RR!((Rt unpack_stringÉs cCsgg}xZ|iƒ}|djoPn|djotd|f‚n|ƒ}|i|ƒq W|S(Niis0 or 1 expected, got %r(R(RRARRt unpack_itemR)tappend(RRLR(R)R((Rt unpack_listÐs    cCs1g}x$t|ƒD]}|i|ƒƒqW|S(N(R(trangeR!R;RMRL(RR!RLR;R(((Rt unpack_farrayÛs  cCs|iƒ}|i||ƒS(N(RRAR!RPRL(RRLR!((Rt unpack_arrayás (R R RRRR7R9RR:RARBt unpack_enumt unpack_boolRFRGRHRIRJtunpack_fopaqueRKt unpack_opaquet unpack_bytesRNRPRQ(((RRts.               c Cstƒ}|idf|idf|idf|id f|id!f|id"f|id#f|i t dƒ|iff|i ddd d g|iffg } d gt | ƒ}d }xg| D]_\} }d G|Gy| |ŒdGHWn+tj o}dG|iGHd ||scCs| S(N(R(R((RR]scCs|S(N(R(R((RR]scCs |djS(Nl-(R(R((RR]scCsd|jo djnS(Nf1.8899999999999999f1.9099999999999999(R(R((RR]scCsd|jo djnS(Nf1.8899999999999999f1.9099999999999999(R(R((RR]scCs |djS(Ns hello world(R(R((RR] scCs|tdƒjS(Ni(RRO(R((RR] scCs|ddddgjS(NRXRYRZR[(R(R((RR] ss unpack testtfailedt:tskipping(i (N(RW(l-(f1.8999999999999999(f1.8999999999999999(s hello world($RtpRRtNoneRRRR'R+ROR-tpacktestR%t succeedlisttcounttmethodtargsRtvarRRR$RtupRARSRFRHRIRKRNRQt unpacktesttpredR( ReRkRgRjRiRaRdRhRRcR$Rf((Rt_testçs: –       ´   % t__main__(RRt cStringIOtStringIORt ImportErrort__all__t ExceptionRRRRRlR (RRqRlRRRRR((Rt?s Ms 5