
    Id                     l    d dl Z d Z G d de      Z G d de      Zej
                  Z G d de      Zy)	    Nc                     t        | t              r| S t        | t              r| j                  d      S | D cg c]  }t	        |       c}S c c}w Nzutf-8)
isinstancebytesstrencode_recursive_encode)objos     +/usr/lib/python3/dist-packages/_ldb_text.pyr	   r	   	   sD    #u
	C	zz'"".12!!$222s   Ac                   L    e Zd Zed        Zd Zd Zd Zd Zd Z	d Z
d Zd	 Zy
)	_WrapBasec                 6    | j                  |       }||_        |S N)__new___wrapped)clswrappedselfs      r   _wrapz_WrapBase._wrap   s    {{3    c                 ,    t        | j                        S r   )lenr   r   s    r   __len__z_WrapBase.__len__   s    4==!!r   c                 j    t        |d      r| j                  |j                  k(  S | j                  |k(  S Nr   hasattrr   r   others     r   __eq__z_WrapBase.__eq__   .    5*%==ENN22==E))r   c                 j    t        |d      r| j                  |j                  k7  S | j                  |k7  S r   r   r    s     r   __ne__z_WrapBase.__ne__#   r#   r   c                 j    t        |d      r| j                  |j                  k  S | j                  |k  S r   r   r    s     r   __lt__z_WrapBase.__lt__)   .    5*%==5>>11==5((r   c                 j    t        |d      r| j                  |j                  k\  S | j                  |k\  S r   r   r    s     r   __le__z_WrapBase.__le__/   r#   r   c                 j    t        |d      r| j                  |j                  kD  S | j                  |kD  S r   r   r    s     r   __gt__z_WrapBase.__gt__5   r(   r   c                 j    t        |d      r| j                  |j                  k\  S | j                  |k\  S r   r   r    s     r   __ge__z_WrapBase.__ge__;   r#   r   c                 2    dt        | j                        z  S )Nz%s.text)reprr   r   s    r   __repr__z_WrapBase.__repr__A   s    4...r   N)__name__
__module____qualname__classmethodr   r   r"   r%   r'   r*   r,   r.   r1    r   r   r   r      s<     
"**)*)*/r   r   c                   <    e Zd ZdZd Zd Zed        Zed        Zy)MessageElementTextWrapperz(Text interface for a LDB message elementc              #   T   K   | j                   D ]  }|j                  d        y wr   r   decode)r   items     r   __iter__z"MessageElementTextWrapper.__iter__I   s(     MM 	'D++g&&	's   &(c                 H    | j                   |   }|y |j                  d      S r   r:   r   keyresults      r   __getitem__z%MessageElementTextWrapper.__getitem__M   s'    s#>==))r   c                 .    | j                   j                  S r   )r   flagsr   s    r   rD   zMessageElementTextWrapper.flagsT   s    }}"""r   c                 .    | j                   j                  S r   )r   	set_flagsr   s    r   rF   z#MessageElementTextWrapper.set_flagsX   s    }}&&&r   N)	r2   r3   r4   __doc__r=   rB   propertyrD   rF   r6   r   r   r8   r8   E   s7    2'* # # ' 'r   r8   c                       e Zd ZdZd Zd Zd Zd Zd Zd Z	e
d        Ze
d	        Ze
d
        Ze
d        Zej                  d        Zy)MessageTextWrapperz Text interface for a LDB messagec                 <    | j                   |   }|y t        |      S r   )r   _wrap_elementr?   s      r   rB   zMessageTextWrapper.__getitem__d   s#    s#> ((r   c                      | j                   j                  |i |}t        |t        j                        rt        |      S t        |t              r|j                  d      S |S r   )r   getr   ldbMessageElementrL   r   r;   )r   argskwargsrA   s       r   rN   zMessageTextWrapper.getk   sV    """D3F3fc001 ((&==))Mr   c                 4    t        |      | j                  |<   y r   )r	   r   )r   r@   r<   s      r   __setitem__zMessageTextWrapper.__setitem__t   s    .t4cr   c                     | j                   |= y r   )r   )r   r@   s     r   __delitem__zMessageTextWrapper.__delitem__w   s    MM#r   c                 n    | j                   j                         D cg c]  }t        |       c}S c c}w r   )r   elementsrL   )r   els     r   rX   zMessageTextWrapper.elementsz   s(    ,0MM,B,B,DEbb!EEEs   2c                 ~    | j                   j                         D cg c]  \  }}|t        |      f c}}S c c}}w r   )r   itemsrL   )r   attrrY   s      r   r[   zMessageTextWrapper.items}   s1    :>--:M:M:OPhdB}R()PPPs   9c                 .    | j                   j                  S r   )r   keysr   s    r   r^   zMessageTextWrapper.keys   s    }}!!!r   c                 .    | j                   j                  S r   )r   remover   s    r   r`   zMessageTextWrapper.remove   s    }}###r   c                 .    | j                   j                  S r   )r   addr   s    r   rb   zMessageTextWrapper.add   s    }}   r   c                 .    | j                   j                  S r   r   dnr   s    r   re   zMessageTextWrapper.dn   s    }}r   c                 &    || j                   _        y r   rd   )r   	new_values     r   re   zMessageTextWrapper.dn   s    $r   N)r2   r3   r4   rG   rB   rN   rT   rV   rX   r[   rH   r^   r`   rb   re   setterr6   r   r   rJ   rJ   `   s    *)5FQ " " $ $ ! !     YY% %r   rJ   )rO   r	   objectr   r8   r   rL   rJ   r6   r   r   <module>rj      sA    30/ 0/f'	 '0 *//2% 2%r   