ó
$^Kc           @   sJ   d  Z  d d l Td d l Td e f d „  ƒ  YZ d e f d „  ƒ  YZ d S(   s   
Contains XML text classes.
iÿÿÿÿ(   t   *t   Textc           B   sk   e  Z d  Z d Z e d „  ƒ Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z RS(   sİ   
    An XML text object used to represent text content.
    @ivar lang: The (optional) language flag.
    @type lang: bool
    @ivar escaped: The (optional) XML special character escaped flag.
    @type escaped: bool
    t   langt   escapedc         G   s   t  | ƒ o | d d  k	 S(   Ni    (   t   lent   None(   t   clst   args(    (    sG   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/suds/sax/text.pyt   __valid#   s    c         O   sp   |  j  | Œ  rf | j d d  ƒ } | j d t ƒ } t t |  ƒ j |  | | � } | | _ | | _ n d  } | S(   NR   R   (	   t   _Text__validt   popR   t   Falset   superR   t   __new__R   R   (   R   R   t   kwargsR   R   t   result(    (    sG   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/suds/sax/text.pyR   '   s    	c         C   sD   |  j  s@ t j j |  ƒ } | |  k } t | d |  j d | ƒS|  S(   s�   
        Encode (escape) special XML characters.
        @return: The text with XML special characters escaped.
        @rtype: L{Text}
        R   R   (   R   t   saxt   encodert   encodeR   R   (   t   selft   postR   (    (    sG   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/suds/sax/text.pyt   escape2   s
    	c         C   s2   |  j  r. t j j |  ƒ } t | d |  j ƒS|  S(   sš   
        Decode (unescape) special XML characters.
        @return: The text with escaped XML special characters decoded.
        @rtype: L{Text}
        R   (   R   R   R   t   decodeR   R   (   R   R   (    (    sG   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/suds/sax/text.pyt   unescape>   s    	c         C   s(   |  j  ƒ  } t | d |  j d |  j ƒS(   NR   R   (   t   stripR   R   R   (   R   R   (    (    sG   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/suds/sax/text.pyt   trimI   s    c         C   s^   d j  |  | f ƒ } t | d |  j d |  j ƒ} t | t ƒ rZ |  j pQ | j | _ n  | S(   Nu    R   R   (   t   joinR   R   R   t
   isinstance(   R   t   othert   joinedR   (    (    sG   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/suds/sax/text.pyt   __add__M   s
    c         C   sU   |  g } |  j  d  k	 r/ | j d |  j  ƒ n  |  j rH | j d ƒ n  d j | ƒ S(   Ns    [%s]s
    <escaped>t    (   R   R   t   appendR   R   (   R   t   s(    (    sG   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/suds/sax/text.pyt   __repr__T   s    		c         C   s1   i  } x$ |  j  D] } t |  | ƒ | | <q W| S(   N(   t	   __slots__t   getattr(   R   t   statet   k(    (    sG   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/suds/sax/text.pyt   __getstate__\   s    c         C   s,   x% |  j  D] } t |  | | | ƒ q
 Wd  S(   N(   R#   t   setattr(   R   R%   R&   (    (    sG   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/suds/sax/text.pyt   __setstate__b   s    (   s   langs   escaped(   t   __name__t
   __module__t   __doc__R#   t   classmethodR	   R   R   R   R   R   R"   R'   R)   (    (    (    sG   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/suds/sax/text.pyR      s   							t   Rawc           B   s)   e  Z d  Z d „  Z d „  Z d „  Z RS(   sP   
    Raw text which is not XML escaped.
    This may include I{string} XML.
    c         C   s   |  S(   N(    (   R   (    (    sG   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/suds/sax/text.pyR   l   s    c         C   s   |  S(   N(    (   R   (    (    sG   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/suds/sax/text.pyR   o   s    c         C   s(   d j  |  | f ƒ } t | d |  j ƒS(   Nu    R   (   R   R.   R   (   R   R   R   (    (    sG   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/suds/sax/text.pyR   r   s    (   R*   R+   R,   R   R   R   (    (    (    sG   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/suds/sax/text.pyR.   g   s   		N(   R,   t   sudst   suds.saxt   unicodeR   R.   (    (    (    sG   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/suds/sax/text.pyt   <module>   s   

N