Ñò
2mÈKc           @   sø   d  Z  d d k Z d d k Z d d g Z d e i f d „  ƒ  YZ d e e i 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.6/UserString.pyt   __init__   s
    c         C   s   t  |  i ƒ S(   N(   R   R   (   R   (    (    s    /usr/lib/python2.6/UserString.pyt   __str__   s    c         C   s   t  |  i ƒ S(   N(   t   reprR   (   R   (    (    s    /usr/lib/python2.6/UserString.pyt   __repr__   s    c         C   s   t  |  i ƒ S(   N(   t   intR   (   R   (    (    s    /usr/lib/python2.6/UserString.pyt   __int__   s    c         C   s   t  |  i ƒ S(   N(   t   longR   (   R   (    (    s    /usr/lib/python2.6/UserString.pyt   __long__   s    c         C   s   t  |  i ƒ S(   N(   t   floatR   (   R   (    (    s    /usr/lib/python2.6/UserString.pyt	   __float__   s    c         C   s   t  |  i ƒ S(   N(   t   complexR   (   R   (    (    s    /usr/lib/python2.6/UserString.pyt   __complex__   s    c         C   s   t  |  i ƒ S(   N(   t   hashR   (   R   (    (    s    /usr/lib/python2.6/UserString.pyt   __hash__   s    c         C   s8   t  | t ƒ o t |  i | i ƒ St |  i | ƒ Sd  S(   N(   R   R    t   cmpR   (   R   t   string(    (    s    /usr/lib/python2.6/UserString.pyt   __cmp__   s    c         C   s   | |  i  j S(   N(   R   (   R   t   char(    (    s    /usr/lib/python2.6/UserString.pyt   __contains__"   s    c         C   s   t  |  i ƒ S(   N(   t   lenR   (   R   (    (    s    /usr/lib/python2.6/UserString.pyt   __len__%   s    c         C   s   |  i  |  i | ƒ S(   N(   t	   __class__R   (   R   t   index(    (    s    /usr/lib/python2.6/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.6/UserString.pyt   __getslice__'   s     c         C   sk   t  | t ƒ o |  i |  i | i ƒ St  | t ƒ o |  i |  i | ƒ S|  i |  i t | ƒ ƒ Sd  S(   N(   R   R    R   R   R   R   (   R   t   other(    (    s    /usr/lib/python2.6/UserString.pyt   __add__+   s
    c         C   sC   t  | t ƒ o |  i | |  i ƒ S|  i t | ƒ |  i ƒ Sd  S(   N(   R   R   R   R   R   (   R   R$   (    (    s    /usr/lib/python2.6/UserString.pyt   __radd__2   s    c         C   s   |  i  |  i | ƒ S(   N(   R   R   (   R   t   n(    (    s    /usr/lib/python2.6/UserString.pyt   __mul__7   s    c         C   s   |  i  |  i | ƒ S(   N(   R   R   (   R   t   args(    (    s    /usr/lib/python2.6/UserString.pyt   __mod__:   s    c         C   s   |  i  |  i i ƒ  ƒ S(   N(   R   R   t
   capitalize(   R   (    (    s    /usr/lib/python2.6/UserString.pyR+   >   s    c         G   s   |  i  |  i i | | Œ ƒ S(   N(   R   R   t   center(   R   t   widthR)   (    (    s    /usr/lib/python2.6/UserString.pyR,   ?   s    i    c         C   s   |  i  i | | | ƒ S(   N(   R   t   count(   R   t   subR!   R"   (    (    s    /usr/lib/python2.6/UserString.pyR.   A   s    c         C   sb   | oA | o |  i  |  i i | | ƒ ƒ S|  i  |  i i | ƒ ƒ Sn |  i  |  i i ƒ  ƒ Sd  S(   N(   R   R   t   decode(   R   t   encodingt   errors(    (    s    /usr/lib/python2.6/UserString.pyR0   C   s
    c         C   sb   | oA | o |  i  |  i i | | ƒ ƒ S|  i  |  i i | ƒ ƒ Sn |  i  |  i i ƒ  ƒ Sd  S(   N(   R   R   t   encode(   R   R1   R2   (    (    s    /usr/lib/python2.6/UserString.pyR3   K   s
    c         C   s   |  i  i | | | ƒ S(   N(   R   t   endswith(   R   t   suffixR!   R"   (    (    s    /usr/lib/python2.6/UserString.pyR4   S   s    i   c         C   s   |  i  |  i i | ƒ ƒ S(   N(   R   R   t
   expandtabs(   R   t   tabsize(    (    s    /usr/lib/python2.6/UserString.pyR6   U   s    c         C   s   |  i  i | | | ƒ S(   N(   R   t   find(   R   R/   R!   R"   (    (    s    /usr/lib/python2.6/UserString.pyR8   W   s    c         C   s   |  i  i | | | ƒ S(   N(   R   R   (   R   R/   R!   R"   (    (    s    /usr/lib/python2.6/UserString.pyR   Y   s    c         C   s   |  i  i ƒ  S(   N(   R   t   isalpha(   R   (    (    s    /usr/lib/python2.6/UserString.pyR9   [   s    c         C   s   |  i  i ƒ  S(   N(   R   t   isalnum(   R   (    (    s    /usr/lib/python2.6/UserString.pyR:   \   s    c         C   s   |  i  i ƒ  S(   N(   R   t	   isdecimal(   R   (    (    s    /usr/lib/python2.6/UserString.pyR;   ]   s    c         C   s   |  i  i ƒ  S(   N(   R   t   isdigit(   R   (    (    s    /usr/lib/python2.6/UserString.pyR<   ^   s    c         C   s   |  i  i ƒ  S(   N(   R   t   islower(   R   (    (    s    /usr/lib/python2.6/UserString.pyR=   _   s    c         C   s   |  i  i ƒ  S(   N(   R   t	   isnumeric(   R   (    (    s    /usr/lib/python2.6/UserString.pyR>   `   s    c         C   s   |  i  i ƒ  S(   N(   R   t   isspace(   R   (    (    s    /usr/lib/python2.6/UserString.pyR?   a   s    c         C   s   |  i  i ƒ  S(   N(   R   t   istitle(   R   (    (    s    /usr/lib/python2.6/UserString.pyR@   b   s    c         C   s   |  i  i ƒ  S(   N(   R   t   isupper(   R   (    (    s    /usr/lib/python2.6/UserString.pyRA   c   s    c         C   s   |  i  i | ƒ S(   N(   R   t   join(   R   R   (    (    s    /usr/lib/python2.6/UserString.pyRB   d   s    c         G   s   |  i  |  i i | | Œ ƒ S(   N(   R   R   t   ljust(   R   R-   R)   (    (    s    /usr/lib/python2.6/UserString.pyRC   e   s    c         C   s   |  i  |  i i ƒ  ƒ S(   N(   R   R   t   lower(   R   (    (    s    /usr/lib/python2.6/UserString.pyRD   g   s    c         C   s   |  i  |  i i | ƒ ƒ S(   N(   R   R   t   lstrip(   R   t   chars(    (    s    /usr/lib/python2.6/UserString.pyRE   h   s    c         C   s   |  i  i | ƒ S(   N(   R   t	   partition(   R   t   sep(    (    s    /usr/lib/python2.6/UserString.pyRG   i   s    iÿÿÿÿc         C   s   |  i  |  i i | | | ƒ ƒ S(   N(   R   R   t   replace(   R   t   oldt   newt   maxsplit(    (    s    /usr/lib/python2.6/UserString.pyRI   k   s    c         C   s   |  i  i | | | ƒ S(   N(   R   t   rfind(   R   R/   R!   R"   (    (    s    /usr/lib/python2.6/UserString.pyRM   m   s    c         C   s   |  i  i | | | ƒ S(   N(   R   t   rindex(   R   R/   R!   R"   (    (    s    /usr/lib/python2.6/UserString.pyRN   o   s    c         G   s   |  i  |  i i | | Œ ƒ S(   N(   R   R   t   rjust(   R   R-   R)   (    (    s    /usr/lib/python2.6/UserString.pyRO   q   s    c         C   s   |  i  i | ƒ S(   N(   R   t
   rpartition(   R   RH   (    (    s    /usr/lib/python2.6/UserString.pyRP   s   s    c         C   s   |  i  |  i i | ƒ ƒ S(   N(   R   R   t   rstrip(   R   RF   (    (    s    /usr/lib/python2.6/UserString.pyRQ   u   s    c         C   s   |  i  i | | ƒ S(   N(   R   t   split(   R   RH   RL   (    (    s    /usr/lib/python2.6/UserString.pyRR   v   s    c         C   s   |  i  i | | ƒ S(   N(   R   t   rsplit(   R   RH   RL   (    (    s    /usr/lib/python2.6/UserString.pyRS   x   s    c         C   s   |  i  i | ƒ S(   N(   R   t
   splitlines(   R   t   keepends(    (    s    /usr/lib/python2.6/UserString.pyRT   z   s    c         C   s   |  i  i | | | ƒ S(   N(   R   t
   startswith(   R   t   prefixR!   R"   (    (    s    /usr/lib/python2.6/UserString.pyRV   {   s    c         C   s   |  i  |  i i | ƒ ƒ S(   N(   R   R   t   strip(   R   RF   (    (    s    /usr/lib/python2.6/UserString.pyRX   }   s    c         C   s   |  i  |  i i ƒ  ƒ S(   N(   R   R   t   swapcase(   R   (    (    s    /usr/lib/python2.6/UserString.pyRY   ~   s    c         C   s   |  i  |  i i ƒ  ƒ S(   N(   R   R   t   title(   R   (    (    s    /usr/lib/python2.6/UserString.pyRZ      s    c         G   s   |  i  |  i i | Œ  ƒ S(   N(   R   R   t	   translate(   R   R)   (    (    s    /usr/lib/python2.6/UserString.pyR[   €   s    c         C   s   |  i  |  i i ƒ  ƒ S(   N(   R   R   t   upper(   R   (    (    s    /usr/lib/python2.6/UserString.pyR\   ‚   s    c         C   s   |  i  |  i i | ƒ ƒ S(   N(   R   R   t   zfill(   R   R-   (    (    s    /usr/lib/python2.6/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.6/UserString.pyR       sr   																																						c           B   sh   e  Z d  Z d d „ Z 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 d k  l } | d d d ƒ| |  _ d  S(   Niÿÿÿÿ(   t   warnpy3ksA   the class UserString.MutableString has been removed in Python 3.0t
   stackleveli   (   t   warningsRe   R   (   R   R   Re   (    (    s    /usr/lib/python2.6/UserString.pyR   ”   s    	c         C   sk  t  | t ƒ oã t  | t ƒ o | i } n! t  | t ƒ p t | ƒ } n | i t |  i ƒ ƒ \ } } } | d j o, | d | d } } | d  d  d … } n | d j o t d ‚ n t	 | | ƒ } |  i |  | |  i | |  _ nu | d j  o | t |  i ƒ 7} n | d j  p | t |  i ƒ j o
 t
 ‚ n |  i |  | |  i | d |  _ d  S(   Niÿÿÿÿi   s"   invalid step in slicing assignmenti    (   R   t   sliceR    R   R   R   t   indicesR   t	   TypeErrort   mint
   IndexError(   R   R   R/   R!   t   stopt   step(    (    s    /usr/lib/python2.6/UserString.pyt   __setitem__   s$    !## 
c         C   s  t  | t ƒ o | i t |  i ƒ ƒ \ } } } | d j o | d | d } } n | d j o t d ‚ n t | | ƒ } |  i |  |  i | |  _ nq | d j  o | t |  i ƒ 7} n | d j  p | t |  i ƒ j o
 t ‚ n |  i |  |  i | d |  _ d  S(   Niÿÿÿÿi   s    invalid step in slicing deletioni    (   R   Rh   Ri   R   R   Rj   Rk   Rl   (   R   R   R!   Rm   Rn   (    (    s    /usr/lib/python2.6/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.6/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.6/UserString.pyt   __delslice__É   s     c         C   s   t  |  i ƒ S(   N(   R    R   (   R   (    (    s    /usr/lib/python2.6/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.6/UserString.pyt   __iadd__Î   s    c         C   s   |  i  | 9_  |  S(   N(   R   (   R   R'   (    (    s    /usr/lib/python2.6/UserString.pyt   __imul__Ö   s    c         C   s   | |  | | +d  S(   N(    (   R   R   t   value(    (    s    /usr/lib/python2.6/UserString.pyt   insertÙ   s    N(   R^   R_   t   __doc__R   Rc   R   Ro   Rp   Rq   Rr   Rs   Rt   Ru   Rw   (    (    (    s    /usr/lib/python2.6/UserString.pyR   …   s   							t   __main__i    s   -q(   t   test_supports
   test.test_(   Rx   Ra   t   collectionst   __all__t   SequenceR    t   MutableSequenceR   R^   t   ost   pathRR   t   argvt   called_in_dirt	   called_ast   splitextt   pyt   testRz   t   verboset
   __import__RD   (    (    (    s    /usr/lib/python2.6/UserString.pyt   <module>   s   xW