Your IP : 3.133.122.95


Current Path : /lib64/python3.6/__pycache__/
Upload File :
Current File : //lib64/python3.6/__pycache__/xdrlib.cpython-36.opt-1.pyc

3


 \�@sxdZddlZddlmZddlmZddddgZGd	d�de�ZGd
d�de�Z	dd�Z
Gd
d�d�ZGdd�d�ZdS)zRImplements (a subset of) Sun XDR -- eXternal Data Representation.

See: RFC 1014

�N)�BytesIO)�wraps�Error�Packer�Unpacker�ConversionErrorc@s(eZdZdZdd�Zdd�Zdd�ZdS)	rz�Exception class for this module. Use:

    except xdrlib.Error as var:
        # var has the Error instance for the exception

    Public ivars:
        msg -- contains the message

    cCs
||_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__�__doc__rrrr
r
r
rrs	c@seZdZdS)rN)rrrr
r
r
rr scst���fdd��}|S)z5 Wrap any raised struct.errors in a ConversionError. csDy
�||�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�eZdZdZdd�Zdd�Zdd�ZeZedd	��Z	ed
d��Z
e
Zdd
�Zdd�Z
e
Zedd��Zedd��Zdd�ZeZdd�ZeZeZdd�Zdd�Zdd�ZdS)rz0Pack various data representations into a buffer.cCs|j�dS)N)�reset)r	r
r
rr2szPacker.__init__cCst�|_dS)N)r�_Packer__buf)r	r
r
rr5szPacker.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_szPacker.pack_fstringcCs"t|�}|j|�|j||�dS)N)r0r$r4)r	r2r1r
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)r0r/)r	r1r7r8r9r
r
r�pack_farrayws
zPacker.pack_farraycCs$t|�}|j|�|j|||�dS)N)r0r$r;)r	r7r8r1r
r
r�
pack_array}s
zPacker.pack_arrayN)rrrrrrr Zget_bufrr$r%Z	pack_enumr&r)Z
pack_hyperr*r+r4Zpack_fopaquer5Zpack_opaqueZ
pack_bytesr:r;r<r
r
r
rr/s*
c@s�eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�ZeZdd�Z
dd�Zdd�Zdd�Zdd�Zdd�ZeZdd�ZeZeZd d!�Zd"d#�Zd$d%�Zd&S)'rz;Unpacks various data representations from the given buffer.cCs|j|�dS)N)r)r	r3r
r
rr�szUnpacker.__init__cCs||_d|_dS)Nr)�_Unpacker__buf�_Unpacker__pos)r	r3r
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>r0r=r)r	r
r
r�done�sz
Unpacker.donecCsB|j}|d|_}|j||�}t|�dkr2t�tjd|�dS)Nr-z>Lr)r>r=r0�EOFErrorr�unpack)r	�i�jr3r
r
r�unpack_uint�szUnpacker.unpack_uintcCsB|j}|d|_}|j||�}t|�dkr2t�tjd|�dS)Nr-z>lr)r>r=r0rBrrC)r	rDrEr3r
r
r�
unpack_int�szUnpacker.unpack_intcCst|j��S)N)�boolrG)r	r
r
r�unpack_bool�szUnpacker.unpack_boolcCs |j�}|j�}t|�d>|BS)Nr')rF�int)r	�hi�lor
r
r�
unpack_uhyper�szUnpacker.unpack_uhypercCs|j�}|dkr|d}|S)Nll)rM)r	r#r
r
r�unpack_hyper�szUnpacker.unpack_hypercCsB|j}|d|_}|j||�}t|�dkr2t�tjd|�dS)Nr-z>fr)r>r=r0rBrrC)r	rDrEr3r
r
r�unpack_float�szUnpacker.unpack_floatcCsB|j}|d|_}|j||�}t|�dkr2t�tjd|�dS)N�z>dr)r>r=r0rBrrC)r	rDrEr3r
r
r�
unpack_double�szUnpacker.unpack_doublecCsT|dkrtd��|j}||ddd}|t|j�kr<t�||_|j|||�S)Nrz fstring size must be nonnegativer,r-)r/r>r0r=rB)r	r1rDrEr
r
r�unpack_fstring�szUnpacker.unpack_fstringcCs|j�}|j|�S)N)rFrR)r	r1r
r
r�
unpack_string�szUnpacker.unpack_stringcCsFg}x<|j�}|dkrP|dkr.td|f��|�}|j|�qW|S)Nrr6z0 or 1 expected, got %r)rFr�append)r	�unpack_itemr7r#r9r
r
r�unpack_list�szUnpacker.unpack_listcCs&g}xt|�D]}|j|��qW|S)N)�rangerT)r	r1rUr7rDr
r
r�
unpack_farray�szUnpacker.unpack_farraycCs|j�}|j||�S)N)rFrX)r	rUr1r
r
r�unpack_array�szUnpacker.unpack_arrayN)rrrrrrr?r@r rArFrGZunpack_enumrIrMrNrOrQrRZunpack_fopaquerSZ
unpack_opaqueZunpack_bytesrVrXrYr
r
r
rr�s.
)
rr�ior�	functoolsr�__all__�	Exceptionrrrrrr
r
r
r�<module>sU

?>