Current File : //lib64/python3.6/__pycache__/xdrlib.cpython-36.opt-2.pyc
3
\�@stddlZddlmZddlmZddddgZGdd�de�ZGd d�de�Zd
d�Z Gdd�d�Z
Gd
d�d�ZdS)�N)�BytesIO)�wraps�Error�Packer�Unpacker�ConversionErrorc@s$eZdZdd�Zdd�Zdd�ZdS)rcCs
||_dS)N)�msg)�selfr�r
�/usr/lib64/python3.6/xdrlib.py�__init__szError.__init__cCs
t|j�S)N)�reprr)r r
r
r�__repr__szError.__repr__cCs
t|j�S)N)�strr)r r
r
r�__str__sz
Error.__str__N)�__name__�
__module__�__qualname__rrrr
r
r
rrs
c@seZdZdS)rN)rrrr
r
r
rr scst���fdd��}|S)NcsDy
�||�Stjk
r>}zt|jd�d�WYdd}~XnXdS)Nr)�struct�errorr�args)r �value�e)�functionr
r�result&s
z&raise_conversion_error.<locals>.result)r)rrr
)rr�raise_conversion_error#src@s�eZdZdd�Zdd�Zdd�ZeZedd��Zed d
��Z e Z
dd�Zd
d�ZeZ
edd��Zedd��Zdd�ZeZdd�ZeZeZdd�Zdd�Zdd�ZdS)rcCs|j�dS)N)�reset)r r
r
rr2szPacker.__init__cCst�|_dS)N)r�_Packer__buf)r r
r
rr5szPacker.resetcCs
|jj�S)N)r�getvalue)r r
r
r�
get_buffer8szPacker.get_buffercCs|jjtjd|��dS)Nz>L)r�writer�pack)r �xr
r
r� pack_uint=szPacker.pack_uintcCs|jjtjd|��dS)Nz>l)rr rr!)r r"r
r
r�pack_intAszPacker.pack_intcCs"|r|jjd�n|jjd�dS)Nss)rr )r r"r
r
r� pack_boolGszPacker.pack_boolcCs�y|j|d?d@�Wn8ttjfk
rN}zt|jd�d�WYdd}~XnXy|j|d@�Wn8ttjfk
r�}zt|jd�d�WYdd}~XnXdS)N� l��r)r#� TypeErrorrrrr)r r"rr
r
r�pack_uhyperKs"zPacker.pack_uhypercCs|jjtjd|��dS)Nz>f)rr rr!)r r"r
r
r�
pack_floatWszPacker.pack_floatcCs|jjtjd|��dS)Nz>d)rr rr!)r r"r
r
r�pack_double[szPacker.pack_doublecCsP|dkrtd��|d|�}|ddd}||t|�d}|jj|�dS)Nrz fstring size must be nonnegative���)�
ValueError�lenrr )r �n�s�datar
r
r�pack_fstring_szPacker.pack_fstringcCs"t|�}|j|�|j||�dS)N)r/r#r3)r r1r0r
r
r�pack_stringis
zPacker.pack_stringcCs.x|D]}|jd�||�qW|jd�dS)N�r)r#)r �list� pack_item�itemr
r
r� pack_listqs
zPacker.pack_listcCs.t|�|krtd��x|D]}||�qWdS)Nzwrong array size)r/r.)r r0r6r7r8r
r
r�pack_farrayws
zPacker.pack_farraycCs$t|�}|j|�|j|||�dS)N)r/r#r:)r r6r7r0r
r
r�
pack_array}s
zPacker.pack_arrayN)rrrrrrZget_bufrr#r$Z pack_enumr%r(Z
pack_hyperr)r*r3Zpack_fopaquer4Zpack_opaqueZ
pack_bytesr9r:r;r
r
r
rr/s(
c@s�eZdZdd�Zdd�Zdd�Zdd�Zd d
�Zdd�Zd
d�Z dd�Z
e
Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�ZeZdd�ZeZeZdd �Zd!d"�Zd#d$�Zd%S)&rcCs|j|�dS)N)r)r r2r
r
rr�szUnpacker.__init__cCs||_d|_dS)Nr)�_Unpacker__buf�_Unpacker__pos)r r2r
r
rr�szUnpacker.resetcCs|jS)N)r=)r r
r
r�get_position�szUnpacker.get_positioncCs
||_dS)N)r=)r Zpositionr
r
r�set_position�szUnpacker.set_positioncCs|jS)N)r<)r r
r
rr�szUnpacker.get_buffercCs|jt|j�krtd��dS)Nzunextracted data remains)r=r/r<r)r r
r
r�done�sz
Unpacker.donecCsB|j}|d|_}|j||�}t|�dkr2t�tjd|�dS)Nr,z>Lr)r=r<r/�EOFErrorr�unpack)r �i�jr2r
r
r�unpack_uint�szUnpacker.unpack_uintcCsB|j}|d|_}|j||�}t|�dkr2t�tjd|�dS)Nr,z>lr)r=r<r/rArrB)r rCrDr2r
r
r�
unpack_int�szUnpacker.unpack_intcCst|j��S)N)�boolrF)r r
r
r�unpack_bool�szUnpacker.unpack_boolcCs |j�}|j�}t|�d>|BS)Nr&)rE�int)r �hi�lor
r
r�
unpack_uhyper�szUnpacker.unpack_uhypercCs|j�}|dkr|d}|S)Nll)rL)r r"r
r
r�unpack_hyper�szUnpacker.unpack_hypercCsB|j}|d|_}|j||�}t|�dkr2t�tjd|�dS)Nr,z>fr)r=r<r/rArrB)r rCrDr2r
r
r�unpack_float�szUnpacker.unpack_floatcCsB|j}|d|_}|j||�}t|�dkr2t�tjd|�dS)N�z>dr)r=r<r/rArrB)r rCrDr2r
r
r�
unpack_double�szUnpacker.unpack_doublecCsT|dkrtd��|j}||ddd}|t|j�kr<t�||_|j|||�S)Nrz fstring size must be nonnegativer+r,)r.r=r/r<rA)r r0rCrDr
r
r�unpack_fstring�szUnpacker.unpack_fstringcCs|j�}|j|�S)N)rErQ)r r0r
r
r�
unpack_string�szUnpacker.unpack_stringcCsFg}x<|j�}|dkrP|dkr.td|f��|�}|j|�qW|S)Nrr5z0 or 1 expected, got %r)rEr�append)r �unpack_itemr6r"r8r
r
r�unpack_list�szUnpacker.unpack_listcCs&g}xt|�D]}|j|��qW|S)N)�rangerS)r r0rTr6rCr
r
r�
unpack_farray�szUnpacker.unpack_farraycCs|j�}|j||�S)N)rErW)r rTr0r
r
r�unpack_array�szUnpacker.unpack_arrayN)rrrrrr>r?rr@rErFZunpack_enumrHrLrMrNrPrQZunpack_fopaquerRZ
unpack_opaqueZunpack_bytesrUrWrXr
r
r
rr�s,
)r�ior� functoolsr�__all__� Exceptionrrrrrr
r
r
r�<module>sU