ģō
ã=Pc           @   s   d  Z  d d k l Z d d k Td d k l Z d d k l Z l	 Z	 d d k
 l Z e e  Z d Z d	 e f d
     YZ d e f d     YZ d S(   sP   
Provides classes for the (WS) SOAP I{rpc/literal} and I{rpc/encoded} bindings.
iĸĸĸĸ(   t	   getLogger(   t   *(   t   Encoded(   t   Bindingt   envns(   t   Elements   SOAP-ENCs)   http://schemas.xmlsoap.org/soap/encoding/t   RPCc           B   s;   e  Z d  Z d   Z d   Z d   Z d   Z d   Z RS(   s$   
    RPC/Literal binding style.
    c         C   s   |  i  |  S(   N(   t   bodypart_types(   t   selft   method(    (    s)   suds-0.3.7-py2.6.egg/suds/bindings/rpc.pyt
   param_defs%   s    c         C   sI   t  i |  | |  } | i t d t d  | i d t d d  | S(   Ni    i   s   %s:encodingStyles)   http://schemas.xmlsoap.org/soap/encoding/(   R   t   envelopet	   addPrefixt   encnst   setR   (   R   t   headert   bodyt   env(    (    s)   suds-0.3.7-py2.6.egg/suds/bindings/rpc.pyR   (   s
    c   	      C   sĪ   d } |  i  |  } x |  i |  D]w } | t |  j  o | | } n | i | d  } |  i | | |  } | d  j	 o | i |  n | d 7} q% W| S(   Ni    i   (   R	   R
   t   lent   gett   mkparamt   Nonet   append(	   R   R	   t   argst   kwargst   nt   roott   pdt   valuet   p(    (    s)   suds-0.3.7-py2.6.egg/suds/bindings/rpc.pyt   bodycontent/   s     c         C   s   | d i  S(   Ni    (   t   children(   R   R	   R   (    (    s)   suds-0.3.7-py2.6.egg/suds/bindings/rpc.pyt   replycontent=   s    c         C   sP   | i  i i i } | d d j o d | d f } n t | i d | } | S(   s  
        Get the document root.  For I{rpc/(literal|encoded)}, this is the
        name of the method qualifed by the schema tns.
        @param method: A service method.
        @type method: I{service.Method}
        @return: A root element.
        @rtype: L{Element}
        i    t   ns0i   t   nsN(   t   soapt   inputR   t	   namespaceR   R   t   name(   R   R	   R"   (    (    s)   suds-0.3.7-py2.6.egg/suds/bindings/rpc.pyR	   @   s
    	(   t   __name__t
   __module__t   __doc__R
   R   R   R    R	   (    (    (    s)   suds-0.3.7-py2.6.egg/suds/bindings/rpc.pyR       s   				R   c           B   s   e  Z d  Z d   Z RS(   s1   
    RPC/Encoded (section 5)  binding style.
    c         C   s   t  |  i  S(   N(   t	   MxEncodedt   schema(   R   (    (    s)   suds-0.3.7-py2.6.egg/suds/bindings/rpc.pyt
   marshallerU   s    (   R'   R(   R)   R,   (    (    (    s)   suds-0.3.7-py2.6.egg/suds/bindings/rpc.pyR   P   s   N(   s   SOAP-ENCs)   http://schemas.xmlsoap.org/soap/encoding/(   R)   t   loggingR    t   sudst   suds.mx.encodedR   R*   t   suds.bindings.bindingR   R   t   suds.sax.elementR   R'   t   logR   R   (    (    (    s)   suds-0.3.7-py2.6.egg/suds/bindings/rpc.pys   <module>   s   
0