
=Pc        
   @   s   d  Z  d d k l Z d d k Td d k Td d k l Z d d k l Z d d k	 l
 Z
 d d k l Z e e  Z d d d	     YZ d
 S(   s&   
Provides I{marshaller} core classes.
i(   t	   getLogger(   t   *(   t   ContentAppender(   t   Element(   t   Document(   t   Propertyt   Corec           B   sz   e  Z d  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z RS(   s   
    An I{abstract} marshaller.  This class implement the core
    functionality of the marshaller.
    @ivar appender: A content appender.
    @type appender: L{ContentAppender}
    c         C   s   t  |   |  _ d S(   s	   
        N(   R   t   appender(   t   self(    (    sK   /usr/local/lib/python2.6/dist-packages/suds-0.3.7-py2.6.egg/suds/mx/core.pyt   __init__)   s    c         C   s   t  i d |  |  i   | i d j o | i i i | _ n t   } t	 | i t
  o# |  i |  } |  i | |  n |  i | |  | i   S(   s   
        Process (marshal) the tag with the specified value using the
        optional type information.
        @param content: The content to process.
        @type content: L{Object}
        s   processing:
%sN(   t   logt   debugt   resett   tagt   Nonet   valuet	   __class__t   __name__R   t
   isinstanceR   t   nodet   appendt   root(   R   t   contentt   documentR   (    (    sK   /usr/local/lib/python2.6/dist-packages/suds-0.3.7-py2.6.egg/suds/mx/core.pyt   process.   s    
	c         C   sK   t  i d | |  |  i |  o$ |  i i | |  |  i |  n d S(   s   
        Append the specified L{content} to the I{parent}.
        @param content: The content to append.
        @type content: L{Object}
        s    appending parent:
%s
content:
%sN(   R
   R   t   startR   R   t   end(   R   t   parentR   (    (    sK   /usr/local/lib/python2.6/dist-packages/suds-0.3.7-py2.6.egg/suds/mx/core.pyR   A   s    c         C   s   d S(   s'   
        Reset the marshaller.
        N(    (   R   (    (    sK   /usr/local/lib/python2.6/dist-packages/suds-0.3.7-py2.6.egg/suds/mx/core.pyR   L   s    c         C   s   t  | i  S(   s   
        Create and return an XML node.
        @param content: The content for which proccessing has been suspended.
        @type content: L{Object}
        @return: An element.
        @rtype: L{Element}
        (   R   R   (   R   R   (    (    sK   /usr/local/lib/python2.6/dist-packages/suds-0.3.7-py2.6.egg/suds/mx/core.pyR   R   s    c         C   s   t  S(   s   
        Appending this content has started.
        @param content: The content for which proccessing has started.
        @type content: L{Content}
        @return: True to continue appending
        @rtype: boolean
        (   t   True(   R   R   (    (    sK   /usr/local/lib/python2.6/dist-packages/suds-0.3.7-py2.6.egg/suds/mx/core.pyR   \   s    c         C   s   d S(   s   
        Appending this content has suspended.
        @param content: The content for which proccessing has been suspended.
        @type content: L{Content}
        N(    (   R   R   (    (    sK   /usr/local/lib/python2.6/dist-packages/suds-0.3.7-py2.6.egg/suds/mx/core.pyt   suspendf   s    c         C   s   d S(   s   
        Appending this content has resumed.
        @param content: The content for which proccessing has been resumed.
        @type content: L{Content}
        N(    (   R   R   (    (    sK   /usr/local/lib/python2.6/dist-packages/suds-0.3.7-py2.6.egg/suds/mx/core.pyt   resumen   s    c         C   s   d S(   s   
        Appending this content has ended.
        @param content: The content for which proccessing has ended.
        @type content: L{Content}
        N(    (   R   R   (    (    sK   /usr/local/lib/python2.6/dist-packages/suds-0.3.7-py2.6.egg/suds/mx/core.pyR   v   s    c         C   s   d S(   s   
        Set the value of the I{node} to nill.
        @param node: A I{nil} node.
        @type node: L{Element}
        @param content: The content to set nil.
        @type content: L{Content}
        N(    (   R   R   R   (    (    sK   /usr/local/lib/python2.6/dist-packages/suds-0.3.7-py2.6.egg/suds/mx/core.pyt   setnil~   s    c         C   s   d S(   s  
        Set the value of the I{node} to a default value.
        @param node: A I{nil} node.
        @type node: L{Element}
        @param content: The content to set the default value.
        @type content: L{Content}
        @return: The default.
        N(    (   R   R   R   (    (    sK   /usr/local/lib/python2.6/dist-packages/suds-0.3.7-py2.6.egg/suds/mx/core.pyt
   setdefault   s    	c         C   s   t  S(   s   
        Get whether the specified content is optional.
        @param content: The content which to check.
        @type content: L{Content}
        (   t   False(   R   R   (    (    sK   /usr/local/lib/python2.6/dist-packages/suds-0.3.7-py2.6.egg/suds/mx/core.pyt   optional   s    (   R   t
   __module__t   __doc__R	   R   R   R   R   R   R   R   R   R   R    R"   (    (    (    sK   /usr/local/lib/python2.6/dist-packages/suds-0.3.7-py2.6.egg/suds/mx/core.pyR   !   s   					
	
				
	N(    (   R$   t   loggingR    t   sudst   suds.mxt   suds.mx.appenderR   t   suds.sax.elementR   t   suds.sax.documentR   t   suds.sudsobjectR   R   R
   R   (    (    (    sK   /usr/local/lib/python2.6/dist-packages/suds-0.3.7-py2.6.egg/suds/mx/core.pyt   <module>   s   

