Ñò
mÈKc        	   @   s´   d  Z  d d k Z y d d k l Z Wn# e j
 o d d k l Z n Xd d d d g Z d e f d „  ƒ  YZ d e f d	 „  ƒ  YZ	 d d d
 „  ƒ  YZ
 d d d „  ƒ  YZ d S(   sR   Implements (a subset of) Sun XDR -- eXternal Data Representation.

See: RFC 1014

iÿÿÿÿN(   t   StringIOt   Errort   Packert   Unpackert   ConversionErrorc           B   s)   e  Z d  Z d „  Z d „  Z d „  Z RS(   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

    c         C   s   | |  _  d  S(   N(   t   msg(   t   selfR   (    (    s   /usr/lib/python2.6/xdrlib.pyt   __init__   s    c         C   s   t  |  i ƒ S(   N(   t   reprR   (   R   (    (    s   /usr/lib/python2.6/xdrlib.pyt   __repr__   s    c         C   s   t  |  i ƒ S(   N(   t   strR   (   R   (    (    s   /usr/lib/python2.6/xdrlib.pyt   __str__   s    (   t   __name__t
   __module__t   __doc__R   R	   R   (    (    (    s   /usr/lib/python2.6/xdrlib.pyR      s   			c           B   s   e  Z RS(    (   R   R   (    (    (    s   /usr/lib/python2.6/xdrlib.pyR   "   s   c           B   s­   e  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 RS(   s0   Pack various data representations into a buffer.c         C   s   |  i  ƒ  d  S(   N(   t   reset(   R   (    (    s   /usr/lib/python2.6/xdrlib.pyR   *   s    c         C   s   t  ƒ  |  _ d  S(   N(   t	   _StringIOt   _Packer__buf(   R   (    (    s   /usr/lib/python2.6/xdrlib.pyR   -   s    c         C   s   |  i  i ƒ  S(   N(   R   t   getvalue(   R   (    (    s   /usr/lib/python2.6/xdrlib.pyt
   get_buffer0   s    c         C   s    |  i  i t i d | ƒ ƒ d  S(   Ns   >L(   R   t   writet   structt   pack(   R   t   x(    (    s   /usr/lib/python2.6/xdrlib.pyt	   pack_uint5   s    c         C   s/   | o |  i  i d ƒ n |  i  i d ƒ d  S(   Nt      t       (   R   R   (   R   R   (    (    s   /usr/lib/python2.6/xdrlib.pyt	   pack_bool;   s     c         C   s*   |  i  | d ?d @ƒ |  i  | d @ƒ d  S(   Ni    l   ÿÿ (   R   (   R   R   (    (    s   /usr/lib/python2.6/xdrlib.pyt   pack_uhyper?   s    c         C   sH   y  |  i  i t i d | ƒ ƒ Wn! t i j
 o } t | ‚ n Xd  S(   Ns   >f(   R   R   R   R   t   errorR   (   R   R   R   (    (    s   /usr/lib/python2.6/xdrlib.pyt
   pack_floatE   s      c         C   sH   y  |  i  i t i d | ƒ ƒ Wn! t i j
 o } t | ‚ n Xd  S(   Ns   >d(   R   R   R   R   R   R   (   R   R   R   (    (    s   /usr/lib/python2.6/xdrlib.pyt   pack_doubleJ   s      c         C   sb   | d j  o t  d ‚ n | |  } | d d d } | | t | ƒ d } |  i i | ƒ d  S(   Ni    s    fstring size must be nonnegativei   i   t    (   t
   ValueErrort   lenR   R   (   R   t   nt   st   data(    (    s   /usr/lib/python2.6/xdrlib.pyt   pack_fstringO   s    
c         C   s-   t  | ƒ } |  i | ƒ |  i | | ƒ d  S(   N(   R"   R   R&   (   R   R$   R#   (    (    s   /usr/lib/python2.6/xdrlib.pyt   pack_stringY   s    c         C   s9   x% | D] } |  i  d ƒ | | ƒ q W|  i  d ƒ d  S(   Ni   i    (   R   (   R   t   listt	   pack_itemt   item(    (    s   /usr/lib/python2.6/xdrlib.pyt	   pack_lista   s
     c         C   s?   t  | ƒ | j o t d ‚ n x | D] } | | ƒ q' Wd  S(   Ns   wrong array size(   R"   R!   (   R   R#   R(   R)   R*   (    (    s   /usr/lib/python2.6/xdrlib.pyt   pack_farrayg   s
     c         C   s0   t  | ƒ } |  i | ƒ |  i | | | ƒ d  S(   N(   R"   R   R,   (   R   R(   R)   R#   (    (    s   /usr/lib/python2.6/xdrlib.pyt
   pack_arraym   s    (   R   R   R   R   R   R   t   get_bufR   t   pack_intt	   pack_enumR   R   t
   pack_hyperR   R   R&   t   pack_fopaqueR'   t   pack_opaquet
   pack_bytesR+   R,   R-   (    (    (    s   /usr/lib/python2.6/xdrlib.pyR   '   s*   												c           B   sÈ   e  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 RS(   s;   Unpacks various data representations from the given buffer.c         C   s   |  i  | ƒ d  S(   N(   R   (   R   R%   (    (    s   /usr/lib/python2.6/xdrlib.pyR   w   s    c         C   s   | |  _  d |  _ d  S(   Ni    (   t   _Unpacker__buft   _Unpacker__pos(   R   R%   (    (    s   /usr/lib/python2.6/xdrlib.pyR   z   s    	c         C   s   |  i  S(   N(   R6   (   R   (    (    s   /usr/lib/python2.6/xdrlib.pyt   get_position~   s    c         C   s   | |  _  d  S(   N(   R6   (   R   t   position(    (    s   /usr/lib/python2.6/xdrlib.pyt   set_position   s    c         C   s   |  i  S(   N(   R5   (   R   (    (    s   /usr/lib/python2.6/xdrlib.pyR   „   s    c         C   s-   |  i  t |  i ƒ j  o t d ƒ ‚ n d  S(   Ns   unextracted data remains(   R6   R"   R5   R   (   R   (    (    s   /usr/lib/python2.6/xdrlib.pyt   done‡   s    c         C   s†   |  i  } | d |  _  } |  i | | !} t | ƒ d j  o
 t ‚ n t i d | ƒ d } y t | ƒ SWn t j
 o | SXd  S(   Ni   s   >Li    (   R6   R5   R"   t   EOFErrorR   t   unpackt   intt   OverflowError(   R   t   it   jR%   R   (    (    s   /usr/lib/python2.6/xdrlib.pyt   unpack_uint‹   s    	
c         C   s[   |  i  } | d |  _  } |  i | | !} t | ƒ d j  o
 t ‚ n t i d | ƒ d S(   Ni   s   >li    (   R6   R5   R"   R;   R   R<   (   R   R?   R@   R%   (    (    s   /usr/lib/python2.6/xdrlib.pyt
   unpack_int—   s    	
c         C   s   t  |  i ƒ  ƒ S(   N(   t   boolRB   (   R   (    (    s   /usr/lib/python2.6/xdrlib.pyt   unpack_bool¡   s    c         C   s*   |  i  ƒ  } |  i  ƒ  } t | ƒ d >| BS(   Ni    (   RA   t   long(   R   t   hit   lo(    (    s   /usr/lib/python2.6/xdrlib.pyt   unpack_uhyper¤   s    c         C   s+   |  i  ƒ  } | d j o | d } n | S(   Nl            l            (   RH   (   R   R   (    (    s   /usr/lib/python2.6/xdrlib.pyt   unpack_hyper©   s    c         C   s[   |  i  } | d |  _  } |  i | | !} t | ƒ d j  o
 t ‚ n t i d | ƒ d S(   Ni   s   >fi    (   R6   R5   R"   R;   R   R<   (   R   R?   R@   R%   (    (    s   /usr/lib/python2.6/xdrlib.pyt   unpack_float¯   s    	
c         C   s[   |  i  } | d |  _  } |  i | | !} t | ƒ d j  o
 t ‚ n t i d | ƒ d S(   Ni   s   >di    (   R6   R5   R"   R;   R   R<   (   R   R?   R@   R%   (    (    s   /usr/lib/python2.6/xdrlib.pyt   unpack_double·   s    	
c         C   st   | d j  o t  d ‚ n |  i } | | d d d } | t |  i ƒ j o
 t ‚ n | |  _ |  i | | | !S(   Ni    s    fstring size must be nonnegativei   i   (   R!   R6   R"   R5   R;   (   R   R#   R?   R@   (    (    s   /usr/lib/python2.6/xdrlib.pyt   unpack_fstring¿   s    	
	c         C   s   |  i  ƒ  } |  i | ƒ S(   N(   RA   RL   (   R   R#   (    (    s   /usr/lib/python2.6/xdrlib.pyt   unpack_stringË   s    c         C   se   g  } xX |  i  ƒ  } | d j o Pn | d j o t d | f ‚ n | ƒ  } | i | ƒ q	 | S(   Ni    i   s   0 or 1 expected, got %r(   RA   R   t   append(   R   t   unpack_itemR(   R   R*   (    (    s   /usr/lib/python2.6/xdrlib.pyt   unpack_listÒ   s     	c         C   s1   g  } x$ t  | ƒ D] } | i | ƒ  ƒ q W| S(   N(   t   rangeRN   (   R   R#   RO   R(   R?   (    (    s   /usr/lib/python2.6/xdrlib.pyt   unpack_farrayÝ   s
     c         C   s   |  i  ƒ  } |  i | | ƒ S(   N(   RA   RR   (   R   RO   R#   (    (    s   /usr/lib/python2.6/xdrlib.pyt   unpack_arrayã   s    (   R   R   R   R   R   R7   R9   R   R:   RA   RB   t   unpack_enumRD   RH   RI   RJ   RK   RL   t   unpack_fopaqueRM   t   unpack_opaquet   unpack_bytesRP   RR   RS   (    (    (    s   /usr/lib/python2.6/xdrlib.pyR   t   s.   														
			(    (    (   R   R   t	   cStringIOR    R   t   ImportErrort   __all__t	   ExceptionR   R   R   R   (    (    (    s   /usr/lib/python2.6/xdrlib.pyt   <module>   s   M