ó ükWc@sËdZddlZyddlmZWn!ek rIddlmZnXddlmZddddgZde fd „ƒYZ de fd „ƒYZ d „Z ddd „ƒYZ ddd „ƒYZdS(sRImplements (a subset of) Sun XDR -- eXternal Data Representation. See: RFC 1014 iÿÿÿÿN(tStringIO(twrapstErrortPackertUnpackertConversionErrorcBs)eZdZd„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(tmsg(tselfR((s/usr/lib/python2.7/xdrlib.pyt__init__scCs t|jƒS(N(treprR(R((s/usr/lib/python2.7/xdrlib.pyt__repr__scCs t|jƒS(N(tstrR(R((s/usr/lib/python2.7/xdrlib.pyt__str__s(t__name__t __module__t__doc__RR R (((s/usr/lib/python2.7/xdrlib.pyRs   cBseZRS((R R(((s/usr/lib/python2.7/xdrlib.pyR#scstˆƒ‡fd†ƒ}|S(s5 Wrap any raised struct.errors in a ConversionError. csAyˆ||ƒSWn)tjk r<}t|jdƒ‚nXdS(Ni(tstructterrorRtargs(Rtvaluete(tfunction(s/usr/lib/python2.7/xdrlib.pytresult)s(R(RR((Rs/usr/lib/python2.7/xdrlib.pytraise_conversion_error&scBsÈeZdZd„Zd„Zd„ZeZed„ƒZed„ƒZ e Z d„Z d„Z e Z ed„ƒZed „ƒZd „ZeZd „ZeZeZd „Zd „Zd„ZRS(s0Pack various data representations into a buffer.cCs|jƒdS(N(treset(R((s/usr/lib/python2.7/xdrlib.pyR5scCstƒ|_dS(N(t _StringIOt _Packer__buf(R((s/usr/lib/python2.7/xdrlib.pyR8scCs |jjƒS(N(Rtgetvalue(R((s/usr/lib/python2.7/xdrlib.pyt get_buffer;scCs |jjtjd|ƒƒdS(Ns>L(RtwriteRtpack(Rtx((s/usr/lib/python2.7/xdrlib.pyt pack_uint@scCs |jjtjd|ƒƒdS(Ns>l(RRRR(RR((s/usr/lib/python2.7/xdrlib.pytpack_intDscCs-|r|jjdƒn|jjdƒdS(Ntt(RR(RR((s/usr/lib/python2.7/xdrlib.pyt pack_boolJscCs–y|j|d?d@ƒWn/ttjfk rJ}t|jdƒ‚nXy|j|d@ƒWn/ttjfk r‘}t|jdƒ‚nXdS(Ni lÿÿi(R t TypeErrorRRRR(RRR((s/usr/lib/python2.7/xdrlib.pyt pack_uhyperNscCs |jjtjd|ƒƒdS(Ns>f(RRRR(RR((s/usr/lib/python2.7/xdrlib.pyt pack_floatZscCs |jjtjd|ƒƒdS(Ns>d(RRRR(RR((s/usr/lib/python2.7/xdrlib.pyt pack_double^scCs`|dkrtd‚n|| }|ddd}||t|ƒd}|jj|ƒdS(Nis fstring size must be nonnegativeiit(t ValueErrortlenRR(Rtntstdata((s/usr/lib/python2.7/xdrlib.pyt pack_fstringbs    cCs-t|ƒ}|j|ƒ|j||ƒdS(N(R+R R/(RR-R,((s/usr/lib/python2.7/xdrlib.pyt pack_stringls  cCs9x%|D]}|jdƒ||ƒqW|jdƒdS(Nii(R (Rtlistt pack_itemtitem((s/usr/lib/python2.7/xdrlib.pyt pack_listts  cCs=t|ƒ|krtd‚nx|D]}||ƒq%WdS(Nswrong array size(R+R*(RR,R1R2R3((s/usr/lib/python2.7/xdrlib.pyt pack_farrayzs  cCs0t|ƒ}|j|ƒ|j|||ƒdS(N(R+R R5(RR1R2R,((s/usr/lib/python2.7/xdrlib.pyt pack_array€s  (R RRRRRtget_bufRR R!t pack_enumR$R&t pack_hyperR'R(R/t pack_fopaqueR0t pack_opaquet pack_bytesR4R5R6(((s/usr/lib/python2.7/xdrlib.pyR2s*         cBsÈeZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z e Z d „Z d „Z d „Zd „Zd „Zd„ZeZd„ZeZeZd„Zd„Zd„ZRS(s;Unpacks various data representations from the given buffer.cCs|j|ƒdS(N(R(RR.((s/usr/lib/python2.7/xdrlib.pyRŠscCs||_d|_dS(Ni(t_Unpacker__buft_Unpacker__pos(RR.((s/usr/lib/python2.7/xdrlib.pyRs cCs|jS(N(R>(R((s/usr/lib/python2.7/xdrlib.pyt get_position‘scCs ||_dS(N(R>(Rtposition((s/usr/lib/python2.7/xdrlib.pyt set_position”scCs|jS(N(R=(R((s/usr/lib/python2.7/xdrlib.pyR—scCs+|jt|jƒkr'tdƒ‚ndS(Nsunextracted data remains(R>R+R=R(R((s/usr/lib/python2.7/xdrlib.pytdonešscCs‚|j}|d|_}|j||!}t|ƒdkrEt‚ntjd|ƒd}yt|ƒSWntk r}|SXdS(Nis>Li(R>R=R+tEOFErrorRtunpacktintt OverflowError(RtitjR.R((s/usr/lib/python2.7/xdrlib.pyt unpack_uintžs   cCsY|j}|d|_}|j||!}t|ƒdkrEt‚ntjd|ƒdS(Nis>li(R>R=R+RCRRD(RRGRHR.((s/usr/lib/python2.7/xdrlib.pyt unpack_intªs   cCst|jƒƒS(N(tboolRJ(R((s/usr/lib/python2.7/xdrlib.pyt unpack_bool´scCs*|jƒ}|jƒ}t|ƒd>|BS(Ni (RItlong(Rthitlo((s/usr/lib/python2.7/xdrlib.pyt unpack_uhyper·s  cCs)|jƒ}|dkr%|d}n|S(Nll(RP(RR((s/usr/lib/python2.7/xdrlib.pyt unpack_hyper¼s   cCsY|j}|d|_}|j||!}t|ƒdkrEt‚ntjd|ƒdS(Nis>fi(R>R=R+RCRRD(RRGRHR.((s/usr/lib/python2.7/xdrlib.pyt unpack_floatÂs   cCsY|j}|d|_}|j||!}t|ƒdkrEt‚ntjd|ƒdS(Nis>di(R>R=R+RCRRD(RRGRHR.((s/usr/lib/python2.7/xdrlib.pyt unpack_doubleÊs   cCsp|dkrtd‚n|j}||ddd}|t|jƒkrUt‚n||_|j|||!S(Nis fstring size must be nonnegativeii(R*R>R+R=RC(RR,RGRH((s/usr/lib/python2.7/xdrlib.pytunpack_fstringÒs     cCs|jƒ}|j|ƒS(N(RIRT(RR,((s/usr/lib/python2.7/xdrlib.pyt unpack_stringÞs cCsag}xT|jƒ}|dkr%Pn|dkrDtd|f‚n|ƒ}|j|ƒq |S(Niis0 or 1 expected, got %r(RIRtappend(Rt unpack_itemR1RR3((s/usr/lib/python2.7/xdrlib.pyt unpack_listås    cCs1g}x$t|ƒD]}|j|ƒƒqW|S(N(trangeRV(RR,RWR1RG((s/usr/lib/python2.7/xdrlib.pyt unpack_farrayðscCs|jƒ}|j||ƒS(N(RIRZ(RRWR,((s/usr/lib/python2.7/xdrlib.pyt unpack_arrayös (R RRRRR?RARRBRIRJt unpack_enumRLRPRQRRRSRTtunpack_fopaqueRUt unpack_opaquet unpack_bytesRXRZR[(((s/usr/lib/python2.7/xdrlib.pyR‡s.               (((RRt cStringIORRt ImportErrort functoolsRt__all__t ExceptionRRRRR(((s/usr/lib/python2.7/xdrlib.pyts   U