mò
­fIc           @   sä   d  Z  d k l Z d k Z d d g Z d f  d „  ƒ  YZ d e f d „  ƒ  YZ e d j o‚ d k Z e i	 i
 e i d ƒ \ Z Z e i	 i e ƒ \ Z Z d	 e i j o 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.
(   s   StringTypesNt
   UserStringt   MutableStringc           B   s]  t  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* d+ „ Z- d e i d, „ Z. d e i d- „ Z/ d. „  Z0 d  d/ „ Z1 d  d* d0 „ Z2 d  d* d1 „ Z3 d d2 „ Z4 d e i d3 „ Z5 d  d4 „ Z6 d5 „  Z7 d6 „  Z8 d7 „  Z9 d8 „  Z: d9 „  Z; RS(:   Nc         C   sQ   t  | t ƒ o | |  _ n1 t  | t ƒ o | i |  _ n t | ƒ |  _ d  S(   N(   t
   isinstancet   seqt   StringTypest   selft   dataR    t   str(   R   R   (    (    t'   /mit/python/lib/python2.4/UserString.pyt   __init__   s
    c         C   s   t  |  i ƒ S(   N(   R   R   R   (   R   (    (    R   t   __str__   s    c         C   s   t  |  i ƒ S(   N(   t   reprR   R   (   R   (    (    R   t   __repr__   s    c         C   s   t  |  i ƒ S(   N(   t   intR   R   (   R   (    (    R   t   __int__   s    c         C   s   t  |  i ƒ S(   N(   t   longR   R   (   R   (    (    R   t   __long__   s    c         C   s   t  |  i ƒ S(   N(   t   floatR   R   (   R   (    (    R   t	   __float__   s    c         C   s   t  |  i ƒ S(   N(   t   complexR   R   (   R   (    (    R   t   __complex__   s    c         C   s   t  |  i ƒ S(   N(   t   hashR   R   (   R   (    (    R   t   __hash__   s    c         C   s;   t  | t ƒ o t |  i | i ƒ Sn t |  i | ƒ Sd  S(   N(   R   t   stringR    t   cmpR   R   (   R   R   (    (    R   t   __cmp__   s    c         C   s   | |  i j S(   N(   t   charR   R   (   R   R   (    (    R   t   __contains__"   s    c         C   s   t  |  i ƒ S(   N(   t   lenR   R   (   R   (    (    R   t   __len__%   s    c         C   s   |  i |  i | ƒ S(   N(   R   t	   __class__R   t   index(   R   R   (    (    R   t   __getitem__&   s    c         C   s5   t  | d ƒ } t  | d ƒ } |  i |  i | | !ƒ S(   Ni    (   t   maxt   startt   endR   R   R   (   R   R"   R#   (    (    R   t   __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   t   otherR    R   R   R   R   R   (   R   R%   (    (    R   t   __add__+   s
    c         C   sF   t  | t ƒ o |  i | |  i ƒ Sn |  i t | ƒ |  i ƒ Sd  S(   N(   R   R%   R   R   R   R   R   (   R   R%   (    (    R   t   __radd__2   s    c         C   s   |  i |  i | ƒ S(   N(   R   R   R   t   n(   R   R(   (    (    R   t   __mul__7   s    c         C   s   |  i |  i | ƒ S(   N(   R   R   R   t   args(   R   R*   (    (    R   t   __mod__:   s    c         C   s   |  i |  i i ƒ  ƒ S(   N(   R   R   R   t
   capitalize(   R   (    (    R   R,   >   s    c         G   s   |  i |  i i | | Œ ƒ S(   N(   R   R   R   t   centert   widthR*   (   R   R.   R*   (    (    R   R-   ?   s    i    c         C   s   |  i i | | | ƒ S(   N(   R   R   t   countt   subR"   R#   (   R   R0   R"   R#   (    (    R   R/   A   s    c         C   se   | oD | o  |  i |  i i | | ƒ ƒ Sqa |  i |  i i | ƒ ƒ Sn |  i |  i i ƒ  ƒ Sd  S(   N(   t   encodingt   errorsR   R   R   t   decode(   R   R1   R2   (    (    R   R3   C   s
     c         C   se   | oD | o  |  i |  i i | | ƒ ƒ Sqa |  i |  i i | ƒ ƒ Sn |  i |  i i ƒ  ƒ Sd  S(   N(   R1   R2   R   R   R   t   encode(   R   R1   R2   (    (    R   R4   K   s
     c         C   s   |  i i | | | ƒ S(   N(   R   R   t   endswitht   suffixR"   R#   (   R   R6   R"   R#   (    (    R   R5   S   s    i   c         C   s   |  i |  i i | ƒ ƒ S(   N(   R   R   R   t
   expandtabst   tabsize(   R   R8   (    (    R   R7   U   s    c         C   s   |  i i | | | ƒ S(   N(   R   R   t   findR0   R"   R#   (   R   R0   R"   R#   (    (    R   R9   W   s    c         C   s   |  i i | | | ƒ S(   N(   R   R   R   R0   R"   R#   (   R   R0   R"   R#   (    (    R   R   Y   s    c         C   s   |  i i ƒ  S(   N(   R   R   t   isalpha(   R   (    (    R   R:   [   s    c         C   s   |  i i ƒ  S(   N(   R   R   t   isalnum(   R   (    (    R   R;   \   s    c         C   s   |  i i ƒ  S(   N(   R   R   t	   isdecimal(   R   (    (    R   R<   ]   s    c         C   s   |  i i ƒ  S(   N(   R   R   t   isdigit(   R   (    (    R   R=   ^   s    c         C   s   |  i i ƒ  S(   N(   R   R   t   islower(   R   (    (    R   R>   _   s    c         C   s   |  i i ƒ  S(   N(   R   R   t	   isnumeric(   R   (    (    R   R?   `   s    c         C   s   |  i i ƒ  S(   N(   R   R   t   isspace(   R   (    (    R   R@   a   s    c         C   s   |  i i ƒ  S(   N(   R   R   t   istitle(   R   (    (    R   RA   b   s    c         C   s   |  i i ƒ  S(   N(   R   R   t   isupper(   R   (    (    R   RB   c   s    c         C   s   |  i i | ƒ S(   N(   R   R   t   joinR   (   R   R   (    (    R   RC   d   s    c         G   s   |  i |  i i | | Œ ƒ S(   N(   R   R   R   t   ljustR.   R*   (   R   R.   R*   (    (    R   RD   e   s    c         C   s   |  i |  i i ƒ  ƒ S(   N(   R   R   R   t   lower(   R   (    (    R   RE   g   s    c         C   s   |  i |  i i | ƒ ƒ S(   N(   R   R   R   t   lstript   chars(   R   RG   (    (    R   RF   h   s    iÿÿÿÿc         C   s   |  i |  i i | | | ƒ ƒ S(   N(   R   R   R   t   replacet   oldt   newt   maxsplit(   R   RI   RJ   RK   (    (    R   RH   i   s    c         C   s   |  i i | | | ƒ S(   N(   R   R   t   rfindR0   R"   R#   (   R   R0   R"   R#   (    (    R   RL   k   s    c         C   s   |  i i | | | ƒ S(   N(   R   R   t   rindexR0   R"   R#   (   R   R0   R"   R#   (    (    R   RM   m   s    c         G   s   |  i |  i i | | Œ ƒ S(   N(   R   R   R   t   rjustR.   R*   (   R   R.   R*   (    (    R   RN   o   s    c         C   s   |  i |  i i | ƒ ƒ S(   N(   R   R   R   t   rstripRG   (   R   RG   (    (    R   RO   q   s    c         C   s   |  i i | | ƒ S(   N(   R   R   t   splitt   sepRK   (   R   RQ   RK   (    (    R   RP   r   s    c         C   s   |  i i | | ƒ S(   N(   R   R   t   rsplitRQ   RK   (   R   RQ   RK   (    (    R   RR   t   s    c         C   s   |  i i | ƒ S(   N(   R   R   t
   splitlinest   keepends(   R   RT   (    (    R   RS   v   s    c         C   s   |  i i | | | ƒ S(   N(   R   R   t
   startswitht   prefixR"   R#   (   R   RV   R"   R#   (    (    R   RU   w   s    c         C   s   |  i |  i i | ƒ ƒ S(   N(   R   R   R   t   stripRG   (   R   RG   (    (    R   RW   y   s    c         C   s   |  i |  i i ƒ  ƒ S(   N(   R   R   R   t   swapcase(   R   (    (    R   RX   z   s    c         C   s   |  i |  i i ƒ  ƒ S(   N(   R   R   R   t   title(   R   (    (    R   RY   {   s    c         G   s   |  i |  i i | Œ  ƒ S(   N(   R   R   R   t	   translateR*   (   R   R*   (    (    R   RZ   |   s    c         C   s   |  i |  i i ƒ  ƒ S(   N(   R   R   R   t   upper(   R   (    (    R   R[   ~   s    c         C   s   |  i |  i i | ƒ ƒ S(   N(   R   R   R   t   zfillR.   (   R   R.   (    (    R   R\      s    (<   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   NoneR3   R4   R5   R7   R9   R   R:   R;   R<   R=   R>   R?   R@   RA   RB   RC   RD   RE   RF   RH   RL   RM   RN   RO   RP   RR   RS   RU   RW   RX   RY   RZ   R[   R\   (    (    (    R   R       sn   																																				c           B   sb   t  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   (   R   R   (    (    R   R	      s    c         C   s   t  d ‚ d  S(   Ns   unhashable type (it is mutable)(   t	   TypeError(   R   (    (    R   R   ’   s    c         C   sT   | d j  p | t |  i ƒ j o
 t ‚ n |  i |  | |  i | d |  _ d  S(   Ni    i   (   R   R   R   R   t
   IndexErrorR0   (   R   R   R0   (    (    R   t   __setitem__”   s    # 
c         C   sP   | d j  p | t |  i ƒ j o
 t ‚ n |  i |  |  i | d |  _ d  S(   Ni    i   (   R   R   R   R   Re   (   R   R   (    (    R   t   __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   R0   R    R   R   R   R   (   R   R"   R#   R0   (    (    R   t   __setslice__š   s    &#c         C   s=   t  | d ƒ } t  | d ƒ } |  i |  |  i | |  _ d  S(   Ni    (   R!   R"   R#   R   R   (   R   R"   R#   (    (    R   t   __delslice__¢   s    c         C   s   t  |  i ƒ S(   N(   R    R   R   (   R   (    (    R   t	   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   (   R   R%   (    (    R   t   __iadd__§   s    c         C   s   |  i | 9_ |  S(   N(   R   R   R(   (   R   R(   (    (    R   t   __imul__¯   s    (   R]   R^   t   __doc__R	   R   Rf   Rg   Rh   Ri   Rj   Rk   Rl   (    (    (    R   R      s    							t   __main__i    s   -q(   s   test_supports
   test.test_(   Rm   t   typesR   R`   t   __all__R    R   R]   t   ost   pathRP   t   argvt   called_in_dirt	   called_ast   splitextt   pyt   testt   test_supportt   verboset
   __import__RE   (
   Ry   Rp   Rq   Rt   Rw   R`   R    R   Ru   R   (    (    R   t   ?   s   	t2	