;
Êâ"Ic               @   s~   d  Z  d d l Z d d l m Z d d d d g Z Gd „  d e ƒ Z Gd	 „  d e ƒ Z Gd
 „  d ƒ Z Gd „  d ƒ Z	 d S(   uR   Implements (a subset of) Sun XDR -- eXternal Data Representation.

See: RFC 1014

i    N(   u   BytesIOu   Erroru   Packeru   Unpackeru   ConversionErrorc             B   s/   |  Ee  Z d  Z d „  Z d „  Z d „  Z d S(   u¸   Exception class for this module. Use:

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

    Public ivars:
        msg -- contains the message

    c             C   s   | |  _  d  S(   N(   u   msg(   u   selfu   msg(    (    u#   /mit/python/lib/python3.0/xdrlib.pyu   __init__   s    c             C   s   t  |  j ƒ S(   N(   u   repru   msg(   u   self(    (    u#   /mit/python/lib/python3.0/xdrlib.pyu   __repr__   s    c             C   s   t  |  j ƒ S(   N(   u   stru   msg(   u   self(    (    u#   /mit/python/lib/python3.0/xdrlib.pyu   __str__   s    N(   u   __name__u
   __module__u   __doc__u   __init__u   __repr__u   __str__(   u
   __locals__(    (    u#   /mit/python/lib/python3.0/xdrlib.pyu   Error   s   
			c             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u#   /mit/python/lib/python3.0/xdrlib.pyu   ConversionError   s   
c             B   s³   |  Ee  Z d  Z d „  Z d „  Z d „  Z e Z d „  Z e Z e Z	 d „  Z
 d „  Z e Z d „  Z d „  Z d	 „  Z e Z d
 „  Z e Z e Z d „  Z d „  Z d „  Z d S(   u0   Pack various data representations into a buffer.c             C   s   |  j  ƒ  d  S(   N(   u   reset(   u   self(    (    u#   /mit/python/lib/python3.0/xdrlib.pyu   __init__'   s    c             C   s   t  ƒ  |  _ d  S(   N(   u   BytesIOu   _Packer__buf(   u   self(    (    u#   /mit/python/lib/python3.0/xdrlib.pyu   reset*   s    c             C   s   |  j  j ƒ  S(   N(   u   _Packer__bufu   getvalue(   u   self(    (    u#   /mit/python/lib/python3.0/xdrlib.pyu
   get_buffer-   s    c             C   s    |  j  j t j d | ƒ ƒ d  S(   Nu   >L(   u   _Packer__bufu   writeu   structu   pack(   u   selfu   x(    (    u#   /mit/python/lib/python3.0/xdrlib.pyu	   pack_uint2   s    c             C   s/   | o |  j  j d ƒ n |  j  j d ƒ d  S(   Ns      s       (   u   _Packer__bufu   write(   u   selfu   x(    (    u#   /mit/python/lib/python3.0/xdrlib.pyu	   pack_bool8   s     c             C   s*   |  j  | d ?d @ƒ |  j  | d @ƒ d  S(   Ni    l   ÿÿ (   u	   pack_uint(   u   selfu   x(    (    u#   /mit/python/lib/python3.0/xdrlib.pyu   pack_uhyper<   s    c             C   s]   y  |  j  j t j d | ƒ ƒ Wn6 t j k
 o' } z t | ƒ ‚ WYd  d  } ~ Xn Xd  S(   Nu   >f(   u   _Packer__bufu   writeu   structu   packu   erroru   ConversionError(   u   selfu   xu   msg(    (    u#   /mit/python/lib/python3.0/xdrlib.pyu
   pack_floatB   s      c             C   s]   y  |  j  j t j d | ƒ ƒ Wn6 t j k
 o' } z t | ƒ ‚ WYd  d  } ~ Xn Xd  S(   Nu   >d(   u   _Packer__bufu   writeu   structu   packu   erroru   ConversionError(   u   selfu   xu   msg(    (    u#   /mit/python/lib/python3.0/xdrlib.pyu   pack_doubleG   s      c             C   sk   | d k  o t  d ƒ ‚ n | d  | … } | d d d } | | t | ƒ d } |  j j | ƒ d  S(   Ni    u    fstring size must be nonnegativei   i   s    (   u
   ValueErroru   lenu   _Packer__bufu   write(   u   selfu   nu   su   data(    (    u#   /mit/python/lib/python3.0/xdrlib.pyu   pack_fstringL   s    c             C   s-   t  | ƒ } |  j | ƒ |  j | | ƒ d  S(   N(   u   lenu	   pack_uintu   pack_fstring(   u   selfu   su   n(    (    u#   /mit/python/lib/python3.0/xdrlib.pyu   pack_stringV   s    c             C   s9   x% | D] } |  j  d ƒ | | ƒ q W|  j  d ƒ d  S(   Ni   i    (   u	   pack_uint(   u   selfu   listu	   pack_itemu   item(    (    u#   /mit/python/lib/python3.0/xdrlib.pyu	   pack_list^   s
     c             C   sB   t  | ƒ | k o t d ƒ ‚ n x | D] } | | ƒ q* Wd  S(   Nu   wrong array size(   u   lenu
   ValueError(   u   selfu   nu   listu	   pack_itemu   item(    (    u#   /mit/python/lib/python3.0/xdrlib.pyu   pack_farrayd   s
     c             C   s0   t  | ƒ } |  j | ƒ |  j | | | ƒ d  S(   N(   u   lenu	   pack_uintu   pack_farray(   u   selfu   listu	   pack_itemu   n(    (    u#   /mit/python/lib/python3.0/xdrlib.pyu
   pack_arrayj   s    N(   u   __name__u
   __module__u   __doc__u   __init__u   resetu
   get_bufferu   get_bufu	   pack_uintu   pack_intu	   pack_enumu	   pack_boolu   pack_uhyperu
   pack_hyperu
   pack_floatu   pack_doubleu   pack_fstringu   pack_fopaqueu   pack_stringu   pack_opaqueu
   pack_bytesu	   pack_listu   pack_farrayu
   pack_array(   u
   __locals__(    (    u#   /mit/python/lib/python3.0/xdrlib.pyu   Packer$   s*   
												c             B   sÎ   |  Ee  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 e
 Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z e Z d „  Z e Z e Z d „  Z d „  Z d „  Z d S(   u;   Unpacks various data representations from the given buffer.c             C   s   |  j  | ƒ d  S(   N(   u   reset(   u   selfu   data(    (    u#   /mit/python/lib/python3.0/xdrlib.pyu   __init__t   s    c             C   s   | |  _  d |  _ d  S(   Ni    (   u   _Unpacker__bufu   _Unpacker__pos(   u   selfu   data(    (    u#   /mit/python/lib/python3.0/xdrlib.pyu   resetw   s    	c             C   s   |  j  S(   N(   u   _Unpacker__pos(   u   self(    (    u#   /mit/python/lib/python3.0/xdrlib.pyu   get_position{   s    c             C   s   | |  _  d  S(   N(   u   _Unpacker__pos(   u   selfu   position(    (    u#   /mit/python/lib/python3.0/xdrlib.pyu   set_position~   s    c             C   s   |  j  S(   N(   u   _Unpacker__buf(   u   self(    (    u#   /mit/python/lib/python3.0/xdrlib.pyu
   get_buffer   s    c             C   s-   |  j  t |  j ƒ k  o t d ƒ ‚ n d  S(   Nu   unextracted data remains(   u   _Unpacker__posu   lenu   _Unpacker__bufu   Error(   u   self(    (    u#   /mit/python/lib/python3.0/xdrlib.pyu   done„   s    c             C   s   |  j  } | d |  _  } |  j | | … } t | ƒ d k  o
 t ‚ n t j d | ƒ d } y t | ƒ SWn t k
 o | SYn Xd  S(   Ni   u   >Li    (   u   _Unpacker__posu   _Unpacker__bufu   lenu   EOFErroru   structu   unpacku   intu   OverflowError(   u   selfu   iu   ju   datau   x(    (    u#   /mit/python/lib/python3.0/xdrlib.pyu   unpack_uintˆ   s    	
c             C   s^   |  j  } | d |  _  } |  j | | … } t | ƒ d k  o
 t ‚ n t j d | ƒ d S(   Ni   u   >li    (   u   _Unpacker__posu   _Unpacker__bufu   lenu   EOFErroru   structu   unpack(   u   selfu   iu   ju   data(    (    u#   /mit/python/lib/python3.0/xdrlib.pyu
   unpack_int”   s    	
c             C   s   t  |  j ƒ  ƒ S(   N(   u   boolu
   unpack_int(   u   self(    (    u#   /mit/python/lib/python3.0/xdrlib.pyu   unpack_boolž   s    c             C   s*   |  j  ƒ  } |  j  ƒ  } t | ƒ d >| BS(   Ni    (   u   unpack_uintu   int(   u   selfu   hiu   lo(    (    u#   /mit/python/lib/python3.0/xdrlib.pyu   unpack_uhyper¡   s    c             C   s+   |  j  ƒ  } | d k o | d } n | S(   Nl            l            (   u   unpack_uhyper(   u   selfu   x(    (    u#   /mit/python/lib/python3.0/xdrlib.pyu   unpack_hyper¦   s    c             C   s^   |  j  } | d |  _  } |  j | | … } t | ƒ d k  o
 t ‚ n t j d | ƒ d S(   Ni   u   >fi    (   u   _Unpacker__posu   _Unpacker__bufu   lenu   EOFErroru   structu   unpack(   u   selfu   iu   ju   data(    (    u#   /mit/python/lib/python3.0/xdrlib.pyu   unpack_float¬   s    	
c             C   s^   |  j  } | d |  _  } |  j | | … } t | ƒ d k  o
 t ‚ n t j d | ƒ d S(   Ni   u   >di    (   u   _Unpacker__posu   _Unpacker__bufu   lenu   EOFErroru   structu   unpack(   u   selfu   iu   ju   data(    (    u#   /mit/python/lib/python3.0/xdrlib.pyu   unpack_double´   s    	
c             C   sz   | d k  o t  d ƒ ‚ n |  j } | | d d d } | t |  j ƒ k o
 t ‚ n | |  _ |  j | | | … S(   Ni    u    fstring size must be nonnegativei   i   (   u
   ValueErroru   _Unpacker__posu   lenu   _Unpacker__bufu   EOFError(   u   selfu   nu   iu   j(    (    u#   /mit/python/lib/python3.0/xdrlib.pyu   unpack_fstring¼   s    	
	c             C   s   |  j  ƒ  } |  j | ƒ S(   N(   u   unpack_uintu   unpack_fstring(   u   selfu   n(    (    u#   /mit/python/lib/python3.0/xdrlib.pyu   unpack_stringÈ   s    c             C   sh   g  } x[ |  j  ƒ  } | d k o Pn | d k o t d | f ƒ ‚ n | ƒ  } | j | ƒ q	 | S(   Ni    i   u   0 or 1 expected, got %r(   u   unpack_uintu   ConversionErroru   append(   u   selfu   unpack_itemu   listu   xu   item(    (    u#   /mit/python/lib/python3.0/xdrlib.pyu   unpack_listÏ   s     	c             C   s1   g  } x$ t  | ƒ D] } | j | ƒ  ƒ q W| S(   N(   u   rangeu   append(   u   selfu   nu   unpack_itemu   listu   i(    (    u#   /mit/python/lib/python3.0/xdrlib.pyu   unpack_farrayÚ   s
     c             C   s   |  j  ƒ  } |  j | | ƒ S(   N(   u   unpack_uintu   unpack_farray(   u   selfu   unpack_itemu   n(    (    u#   /mit/python/lib/python3.0/xdrlib.pyu   unpack_arrayà   s    N(   u   __name__u
   __module__u   __doc__u   __init__u   resetu   get_positionu   set_positionu
   get_bufferu   doneu   unpack_uintu
   unpack_intu   unpack_enumu   unpack_boolu   unpack_uhyperu   unpack_hyperu   unpack_floatu   unpack_doubleu   unpack_fstringu   unpack_fopaqueu   unpack_stringu   unpack_opaqueu   unpack_bytesu   unpack_listu   unpack_farrayu   unpack_array(   u
   __locals__(    (    u#   /mit/python/lib/python3.0/xdrlib.pyu   Unpackerq   s.   
														
			(
   u   __doc__u   structu   iou   BytesIOu   __all__u	   Exceptionu   Erroru   ConversionErroru   Packeru   Unpacker(    (    (    u#   /mit/python/lib/python3.0/xdrlib.pyu   <module>   s   M