³ò
º›\Kc           @   sà   d  Z  d d k Z d d g Z d d d „  ƒ  YZ d e f d „  ƒ  YZ e d j oˆ d d k Z e i i e i	 d ƒ \ Z
 Z e i i e ƒ \ Z Z d	 e i	 j o d d
 k l Z d e _ n e d e i ƒ  ƒ n d S(   sŽ   A user-defined wrapper around string objects

Note: string objects have grown methods in Python 1.6
This module requires Python 1.6 or later.
iÿÿÿÿNt
   UserStringt   MutableStringc           B   so  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 d „  Z d „  Z d „  Z e Z d „  Z d „  Z d „  Z d e i d „ Z d; d; d „ Z d; d; d „ Z d e i d „ Z d d „ Z d e i d „ Z d e i 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+ d; d( „ Z, d) „  Z- d* d+ „ Z. d e i d, „ Z/ d e i d- „ Z0 d. „  Z1 d/ „  Z2 d; d0 „ Z3 d; d* d1 „ Z4 d; d* d2 „ Z5 d d3 „ Z6 d e i d4 „ Z7 d; d5 „ Z8 d6 „  Z9 d7 „  Z: d8 „  Z; d9 „  Z< d: „  Z= RS(<   c         C   sQ   t  | t ƒ o | |  _ n1 t  | t ƒ o | i |  _ n t | ƒ |  _ d  S(   N(   t
   isinstancet
   basestringt   dataR    t   str(   t   selft   seq(    (    s    /usr/lib/python2.5/UserString.pyt   __init__   s
    c         C   s   t  |  i ƒ S(   N(   R   R   (   R   (    (    s    /usr/lib/python2.5/UserString.pyt   __str__   s    c         C   s   t  |  i ƒ S(   N(   t   reprR   (   R   (    (    s    /usr/lib/python2.5/UserString.pyt   __repr__   s    c         C   s   t  |  i ƒ S(   N(   t   intR   (   R   (    (    s    /usr/lib/python2.5/UserString.pyt   __int__   s    c         C   s   t  |  i ƒ S(   N(   t   longR   (   R   (    (    s    /usr/lib/python2.5/UserString.pyt   __long__   s    c         C   s   t  |  i ƒ S(   N(   t   floatR   (   R   (    (    s    /usr/lib/python2.5/UserString.pyt	   __float__   s    c         C   s   t  |  i ƒ S(   N(   t   complexR   (   R   (    (    s    /usr/lib/python2.5/UserString.pyt   __complex__   s    c         C   s   t  |  i ƒ S(   N(   t   hashR   (   R   (    (    s    /usr/lib/python2.5/UserString.pyt   __hash__   s    c         C   s;   t  | t ƒ o t |  i | i ƒ Sn t |  i | ƒ Sd  S(   N(   R   R    t   cmpR   (   R   t   string(    (    s    /usr/lib/python2.5/UserString.pyt   __cmp__   s    c         C   s   | |  i  j S(   N(   R   (   R   t   char(    (    s    /usr/lib/python2.5/UserString.pyt   __contains__!   s    c         C   s   t  |  i ƒ S(   N(   t   lenR   (   R   (    (    s    /usr/lib/python2.5/UserString.pyt   __len__$   s    c         C   s   |  i  |  i | ƒ S(   N(   t	   __class__R   (   R   t   index(    (    s    /usr/lib/python2.5/UserString.pyt   __getitem__%   s    c         C   s5   t  | d ƒ } t  | d ƒ } |  i |  i | | !ƒ S(   Ni    (   t   maxR   R   (   R   t   startt   end(    (    s    /usr/lib/python2.5/UserString.pyt   __getslice__&   s     c         C   sq   t  | t ƒ o |  i |  i | i ƒ SnC t  | t ƒ o |  i |  i | ƒ Sn |  i |  i t | ƒ ƒ Sd  S(   N(   R   R    R   R   R   R   (   R   t   other(    (    s    /usr/lib/python2.5/UserString.pyt   __add__*   s
    c         C   sF   t  | t ƒ o |  i | |  i ƒ Sn |  i t | ƒ |  i ƒ Sd  S(   N(   R   R   R   R   R   (   R   R$   (    (    s    /usr/lib/python2.5/UserString.pyt   __radd__1   s    c         C   s   |  i  |  i | ƒ S(   N(   R   R   (   R   t   n(    (    s    /usr/lib/python2.5/UserString.pyt   __mul__6   s    c         C   s   |  i  |  i | ƒ S(   N(   R   R   (   R   t   args(    (    s    /usr/lib/python2.5/UserString.pyt   __mod__9   s    c         C   s   |  i  |  i i ƒ  ƒ S(   N(   R   R   t
   capitalize(   R   (    (    s    /usr/lib/python2.5/UserString.pyR+   =   s    c         G   s   |  i  |  i i | | Œ ƒ S(   N(   R   R   t   center(   R   t   widthR)   (    (    s    /usr/lib/python2.5/UserString.pyR,   >   s    i    c         C   s   |  i  i | | | ƒ S(   N(   R   t   count(   R   t   subR!   R"   (    (    s    /usr/lib/python2.5/UserString.pyR.   @   s    c         C   se   | oD | o  |  i  |  i i | | ƒ ƒ Sqa |  i  |  i i | ƒ ƒ Sn |  i  |  i i ƒ  ƒ Sd  S(   N(   R   R   t   decode(   R   t   encodingt   errors(    (    s    /usr/lib/python2.5/UserString.pyR0   B   s
     c         C   se   | oD | o  |  i  |  i i | | ƒ ƒ Sqa |  i  |  i i | ƒ ƒ Sn |  i  |  i i ƒ  ƒ Sd  S(   N(   R   R   t   encode(   R   R1   R2   (    (    s    /usr/lib/python2.5/UserString.pyR3   J   s
     c         C   s   |  i  i | | | ƒ S(   N(   R   t   endswith(   R   t   suffixR!   R"   (    (    s    /usr/lib/python2.5/UserString.pyR4   R   s    i   c         C   s   |  i  |  i i | ƒ ƒ S(   N(   R   R   t
   expandtabs(   R   t   tabsize(    (    s    /usr/lib/python2.5/UserString.pyR6   T   s    c         C   s   |  i  i | | | ƒ S(   N(   R   t   find(   R   R/   R!   R"   (    (    s    /usr/lib/python2.5/UserString.pyR8   V   s    c         C   s   |  i  i | | | ƒ S(   N(   R   R   (   R   R/   R!   R"   (    (    s    /usr/lib/python2.5/UserString.pyR   X   s    c         C   s   |  i  i ƒ  S(   N(   R   t   isalpha(   R   (    (    s    /usr/lib/python2.5/UserString.pyR9   Z   s    c         C   s   |  i  i ƒ  S(   N(   R   t   isalnum(   R   (    (    s    /usr/lib/python2.5/UserString.pyR:   [   s    c         C   s   |  i  i ƒ  S(   N(   R   t	   isdecimal(   R   (    (    s    /usr/lib/python2.5/UserString.pyR;   \   s    c         C   s   |  i  i ƒ  S(   N(   R   t   isdigit(   R   (    (    s    /usr/lib/python2.5/UserString.pyR<   ]   s    c         C   s   |  i  i ƒ  S(   N(   R   t   islower(   R   (    (    s    /usr/lib/python2.5/UserString.pyR=   ^   s    c         C   s   |  i  i ƒ  S(   N(   R   t	   isnumeric(   R   (    (    s    /usr/lib/python2.5/UserString.pyR>   _   s    c         C   s   |  i  i ƒ  S(   N(   R   t   isspace(   R   (    (    s    /usr/lib/python2.5/UserString.pyR?   `   s    c         C   s   |  i  i ƒ  S(   N(   R   t   istitle(   R   (    (    s    /usr/lib/python2.5/UserString.pyR@   a   s    c         C   s   |  i  i ƒ  S(   N(   R   t   isupper(   R   (    (    s    /usr/lib/python2.5/UserString.pyRA   b   s    c         C   s   |  i  i | ƒ S(   N(   R   t   join(   R   R   (    (    s    /usr/lib/python2.5/UserString.pyRB   c   s    c         G   s   |  i  |  i i | | Œ ƒ S(   N(   R   R   t   ljust(   R   R-   R)   (    (    s    /usr/lib/python2.5/UserString.pyRC   d   s    c         C   s   |  i  |  i i ƒ  ƒ S(   N(   R   R   t   lower(   R   (    (    s    /usr/lib/python2.5/UserString.pyRD   f   s    c         C   s   |  i  |  i i | ƒ ƒ S(   N(   R   R   t   lstrip(   R   t   chars(    (    s    /usr/lib/python2.5/UserString.pyRE   g   s    c         C   s   |  i  i | ƒ S(   N(   R   t	   partition(   R   t   sep(    (    s    /usr/lib/python2.5/UserString.pyRG   h   s    iÿÿÿÿc         C   s   |  i  |  i i | | | ƒ ƒ S(   N(   R   R   t   replace(   R   t   oldt   newt   maxsplit(    (    s    /usr/lib/python2.5/UserString.pyRI   j   s    c         C   s   |  i  i | | | ƒ S(   N(   R   t   rfind(   R   R/   R!   R"   (    (    s    /usr/lib/python2.5/UserString.pyRM   l   s    c         C   s   |  i  i | | | ƒ S(   N(   R   t   rindex(   R   R/   R!   R"   (    (    s    /usr/lib/python2.5/UserString.pyRN   n   s    c         G   s   |  i  |  i i | | Œ ƒ S(   N(   R   R   t   rjust(   R   R-   R)   (    (    s    /usr/lib/python2.5/UserString.pyRO   p   s    c         C   s   |  i  i | ƒ S(   N(   R   t
   rpartition(   R   RH   (    (    s    /usr/lib/python2.5/UserString.pyRP   r   s    c         C   s   |  i  |  i i | ƒ ƒ S(   N(   R   R   t   rstrip(   R   RF   (    (    s    /usr/lib/python2.5/UserString.pyRQ   t   s    c         C   s   |  i  i | | ƒ S(   N(   R   t   split(   R   RH   RL   (    (    s    /usr/lib/python2.5/UserString.pyRR   u   s    c         C   s   |  i  i | | ƒ S(   N(   R   t   rsplit(   R   RH   RL   (    (    s    /usr/lib/python2.5/UserString.pyRS   w   s    c         C   s   |  i  i | ƒ S(   N(   R   t
   splitlines(   R   t   keepends(    (    s    /usr/lib/python2.5/UserString.pyRT   y   s    c         C   s   |  i  i | | | ƒ S(   N(   R   t
   startswith(   R   t   prefixR!   R"   (    (    s    /usr/lib/python2.5/UserString.pyRV   z   s    c         C   s   |  i  |  i i | ƒ ƒ S(   N(   R   R   t   strip(   R   RF   (    (    s    /usr/lib/python2.5/UserString.pyRX   |   s    c         C   s   |  i  |  i i ƒ  ƒ S(   N(   R   R   t   swapcase(   R   (    (    s    /usr/lib/python2.5/UserString.pyRY   }   s    c         C   s   |  i  |  i i ƒ  ƒ S(   N(   R   R   t   title(   R   (    (    s    /usr/lib/python2.5/UserString.pyRZ   ~   s    c         G   s   |  i  |  i i | Œ  ƒ S(   N(   R   R   t	   translate(   R   R)   (    (    s    /usr/lib/python2.5/UserString.pyR[      s    c         C   s   |  i  |  i i ƒ  ƒ S(   N(   R   R   t   upper(   R   (    (    s    /usr/lib/python2.5/UserString.pyR\      s    c         C   s   |  i  |  i i | ƒ ƒ S(   N(   R   R   t   zfill(   R   R-   (    (    s    /usr/lib/python2.5/UserString.pyR]   ‚   s    N(>   t   __name__t
   __module__R   R	   R   R   R   R   R   R   R   R   R   R   R#   R%   R&   R(   t   __rmul__R*   R+   R,   t   syst   maxintR.   t   NoneR0   R3   R4   R6   R8   R   R9   R:   R;   R<   R=   R>   R?   R@   RA   RB   RC   RD   RE   RG   RI   RM   RN   RO   RP   RQ   RR   RS   RT   RV   RX   RY   RZ   R[   R\   R]   (    (    (    s    /usr/lib/python2.5/UserString.pyR       sr   																																						c           B   sb   e  Z d  Z d d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d	 „  Z
 d
 „  Z RS(   sœ  mutable string objects

    Python strings are immutable objects.  This has the advantage, that
    strings may be used as dictionary keys.  If this property isn't needed
    and you insist on changing string values in place instead, you may cheat
    and use MutableString.

    But the purpose of this class is an educational one: to prevent
    people from inventing their own mutable string class derived
    from UserString and than forget thereby to remove (override) the
    __hash__ method inherited from UserString.  This would lead to
    errors that would be very hard to track down.

    A faster and better solution is to rewrite your program using lists.t    c         C   s   | |  _  d  S(   N(   R   (   R   R   (    (    s    /usr/lib/python2.5/UserString.pyR   “   s    c         C   s   t  d ‚ d  S(   Ns   unhashable type (it is mutable)(   t	   TypeError(   R   (    (    s    /usr/lib/python2.5/UserString.pyR   •   s    c         C   sx   | d j  o | t  |  i ƒ 7} n | d j  p | t  |  i ƒ j o
 t ‚ n |  i |  | |  i | d |  _ d  S(   Ni    i   (   R   R   t
   IndexError(   R   R   R/   (    (    s    /usr/lib/python2.5/UserString.pyt   __setitem__—   s
    # 
c         C   st   | d j  o | t  |  i ƒ 7} n | d j  p | t  |  i ƒ j o
 t ‚ n |  i |  |  i | d |  _ d  S(   Ni    i   (   R   R   Rf   (   R   R   (    (    s    /usr/lib/python2.5/UserString.pyt   __delitem__œ   s
    # 
c         C   s°   t  | d ƒ } t  | d ƒ } t | t ƒ o& |  i |  | i |  i | |  _ nY t | t ƒ o# |  i |  | |  i | |  _ n& |  i |  t | ƒ |  i | |  _ d  S(   Ni    (   R    R   R    R   R   R   (   R   R!   R"   R/   (    (    s    /usr/lib/python2.5/UserString.pyt   __setslice__¡   s     &#c         C   s=   t  | d ƒ } t  | d ƒ } |  i |  |  i | |  _ d  S(   Ni    (   R    R   (   R   R!   R"   (    (    s    /usr/lib/python2.5/UserString.pyt   __delslice__©   s     c         C   s   t  |  i ƒ S(   N(   R    R   (   R   (    (    s    /usr/lib/python2.5/UserString.pyt	   immutable¬   s    c         C   sb   t  | t ƒ o |  i | i 7_ n9 t  | t ƒ o |  i | 7_ n |  i t | ƒ 7_ |  S(   N(   R   R    R   R   R   (   R   R$   (    (    s    /usr/lib/python2.5/UserString.pyt   __iadd__®   s    c         C   s   |  i  | 9_  |  S(   N(   R   (   R   R'   (    (    s    /usr/lib/python2.5/UserString.pyt   __imul__¶   s    (   R^   R_   t   __doc__R   R   Rg   Rh   Ri   Rj   Rk   Rl   Rm   (    (    (    s    /usr/lib/python2.5/UserString.pyR   „   s   							t   __main__i    s   -q(   t   test_supports
   test.test_(    (   Rn   Ra   t   __all__R    R   R^   t   ost   pathRR   t   argvt   called_in_dirt	   called_ast   splitextt   pyt   testRp   t   verboset
   __import__RD   (    (    (    s    /usr/lib/python2.5/UserString.pys   <module>   s   x6