\dYdZddlZddlmZddlmZddlZejedgdZ Gdd e Z Gd d e Z d Z Gd dZGddZdS)zRImplements (a subset of) Sun XDR -- eXternal Data Representation. See: RFC 1014 N)BytesIOwraps) )remove)ErrorPackerUnpackerConversionErrorc$eZdZdZdZdZdZdS)r zException class for this module. Use: except xdrlib.Error as var: # var has the Error instance for the exception Public ivars: msg -- contains the message c||_dSN)msg)selfrs ..\python\lib\xdrlib.py__init__zError.__init__s c*t|jSr)reprrrs r__repr__zError.__repr__sDH~~rc*t|jSr)strrrs r__str__z Error.__str__s48}}rN)__name__ __module__ __qualname____doc__rrrrrr r sKrr ceZdZdS)r N)rrrr rrr r #sDrr c<tfd}|S)z5 Wrap any raised struct.errors in a ConversionError. c ||S#tj$r }t|jddd}~wwxYwNr)structerrorr args)rvalueefunctions rresultz&raise_conversion_error..result)sQ 78D%(( (| 7 7 7!!&),,$ 6 7s >9>r)r*r+s` rraise_conversion_errorr,&s5 8__7777_7 MrceZdZdZdZdZdZeZedZ edZ e Z dZ dZ e Zed Zed Zd ZeZd ZeZeZd ZdZdZdS)r z0Pack various data representations into a buffer.c.|dSrresetrs rrzPacker.__init__5s rc,t|_dSr)r _Packer__bufrs rr0z Packer.reset8sYY rc4|jSr)r2getvaluers r get_bufferzPacker.get_buffer;sz""$$$rc`|jtjd|dS)N>Lr2writer%packrxs r pack_uintzPacker.pack_uint@* T1--.....rc`|jtjd|dS)N>lr8r;s rpack_intzPacker.pack_intDr>rcv|r|jddS|jddS)Nss)r2r9r;s r pack_boolzPacker.pack_boolJsA  ,dj{+++++j{+++++rcV ||dz dzn9#ttjf$r }t |jddd}~wwxYw ||dzdS#ttjf$r }t |jddd}~wwxYw)N lr)r= TypeErrorr%r&r r')rr<r)s r pack_uhyperzPacker.pack_uhyperNs 7 NN1b5:- . . . .6<( 7 7 7!!&),,$ 6 7 7 NN1z> * * * * *6<( 7 7 7!!&),,$ 6 7s,AAAA22B(B##B(c`|jtjd|dS)N>fr8r;s r pack_floatzPacker.pack_floatZr>rc`|jtjd|dS)N>dr8r;s r pack_doublezPacker.pack_double^r>rc|dkrtd|d|}|dzdzdz}||t|z dzz}|j|dS)Nr fstring size must be nonnegativer) ValueErrorlenr2r9)rnsdatas r pack_fstringzPacker.pack_fstringbsm q55?@@ @!ucAXqLq3t99}-- rczt|}|||||dSr)rSr=rW)rrUrTs r pack_stringzPacker.pack_stringls; FF q !Qrcz|D]"}|d||#|ddS)Nr)r=)rlist pack_itemitems r pack_listzPacker.pack_listtsJ  D NN1    IdOOOO qrcjt||krtd|D] }||dS)Nzwrong array size)rSrR)rrTr\r]r^s r pack_farrayzPacker.pack_farrayzsH t99>>/00 0  D IdOOOO  rc|t|}||||||dSr)rSr=ra)rr\r]rTs r pack_arrayzPacker.pack_arrays= II q D),,,,,rN)rrrrrr0r5get_bufr,r=rA pack_enumrCrG pack_hyperrJrMrW pack_fopaquerY pack_opaque pack_bytesr_rarcr rrr r 2sD::%%%G//////I,,,777J////// L   KJ  -----rr ceZdZdZdZdZdZdZdZdZ dZ d Z e Z d Z d Zd Zd ZdZdZeZdZeZeZdZdZdZdS)r z;Unpacks various data representations from the given buffer.c0||dSrr/rrVs rrzUnpacker.__init__s 4rc"||_d|_dSr$)_Unpacker__buf_Unpacker__posrls rr0zUnpacker.resets  rc|jSrrors r get_positionzUnpacker.get_position zrc||_dSrrq)rpositions r set_positionzUnpacker.set_positions  rc|jSr)rnrs rr5zUnpacker.get_bufferrsrc^|jt|jkrtddS)Nzunextracted data remains)rorSrnr rs rdonez Unpacker.dones. :DJ ' '233 3 ( 'rc|j}|dzx|_}|j||}t|dkrtt jd|dS)NrPr7rrornrSEOFErrorr%unpackrijrVs r unpack_uintzUnpacker.unpack_uintS J1 Qz!A# t99q==N}T4((++rc|j}|dzx|_}|j||}t|dkrtt jd|dS)NrPr@rr{r~s r unpack_intzUnpacker.unpack_intrrcDt|Sr)boolrrs r unpack_boolzUnpacker.unpack_boolsDOO%%&&&rc||}|}t|dz|zS)NrE)rint)rhilos r unpack_uhyperzUnpacker.unpack_uhypers9          2ww{RrcD|}|dkr|dz }|S)Nll)rr;s r unpack_hyperzUnpacker.unpack_hypers/     " " "''Arc|j}|dzx|_}|j||}t|dkrtt jd|dS)NrPrIrr{r~s r unpack_floatzUnpacker.unpack_floatrrc|j}|dzx|_}|j||}t|dkrtt jd|dS)NrLrr{r~s r unpack_doublezUnpacker.unpack_doublerrc|dkrtd|j}||dzdzdzz}|t|jkrt||_|j|||zS)NrrOrrP)rRrorSrnr|)rrTrrs runpack_fstringzUnpacker.unpack_fstringsj q55?@@ @ J 1q N s4:  N z!AaC%  rcT|}||Sr)rr)rrTs r unpack_stringzUnpacker.unpack_strings'     ""1%%%rcg} |}|dkrn8|dkrtd||}||S|S)Nr[rz0 or 1 expected, got )rr append)r unpack_itemr\r<r^s r unpack_listzUnpacker.unpack_listso   ""AAvvuAvv%o11&FGGG;==D KK      rchg}t|D]}|| |Sr)ranger)rrTrr\rs r unpack_farrayzUnpacker.unpack_farrays<q ' 'A KK & & & & rcV|}|||Sr)rr)rrrTs r unpack_arrayzUnpacker.unpack_arrays)     !!![111rN)rrrrrr0rrrvr5ryrr unpack_enumrrrrrrunpack_fopaquer unpack_opaque unpack_bytesrrrr rrr r sBEE444,,,,,,K'''    ,,,,,,!!!$N&&&"M L    22222rr )rr%ior functoolsrwarnings _deprecatedr__all__ Exceptionr r r,r r r rrrs:  Xg.... < < <I$     e      Q-Q-Q-Q-Q-Q-Q-Q-jm2m2m2m2m2m2m2m2m2m2r