Your IP : 3.12.151.11
�
�Q�fv � �. � d dl Z ddlmZ G d� de� Zy)� N� )�method_cachec �h � � e Zd ZdZd� Zd� Zd� Zd� Zd� Z� fd�Z d� Z
e� fd �� Zd
� Z
dd�Z� xZS )
�
FoldedCasea{
A case insensitive string class; behaves just like str
except compares equal when the only variation is case.
>>> s = FoldedCase('hello world')
>>> s == 'Hello World'
True
>>> 'Hello World' == s
True
>>> s != 'Hello World'
False
>>> s.index('O')
4
>>> s.split('O')
['hell', ' w', 'rld']
>>> sorted(map(FoldedCase, ['GAMMA', 'alpha', 'Beta']))
['alpha', 'Beta', 'GAMMA']
Sequence membership is straightforward.
>>> "Hello World" in [s]
True
>>> s in ["Hello World"]
True
You may test for set inclusion, but candidate and elements
must both be folded.
>>> FoldedCase("Hello World") in {s}
True
>>> s in {FoldedCase("Hello World")}
True
String inclusion works as long as the FoldedCase object
is on the right.
>>> "hello" in FoldedCase("Hello World")
True
But not if the FoldedCase object is on the left:
>>> FoldedCase('hello') in 'Hello World'
False
In that case, use in_:
>>> FoldedCase('hello').in_('Hello World')
True
>>> FoldedCase('hello') > FoldedCase('Hello')
False
c �D � | j � |j � k S �N��lower��self�others �?/opt/alt/python312/lib64/python3.12/importlib/metadata/_text.py�__lt__zFoldedCase.__lt__C � � ��z�z�|�e�k�k�m�+�+� c �D � | j � |j � kD S r r r s r �__gt__zFoldedCase.__gt__F r r c �D � | j � |j � k( S r r r s r �__eq__zFoldedCase.__eq__I � � ��z�z�|�u�{�{�}�,�,r c �D � | j � |j � k7 S r r r s r �__ne__zFoldedCase.__ne__L r r c �4 � t | j � � S r )�hashr
)r s r �__hash__zFoldedCase.__hash__O s � ��D�J�J�L�!�!r c �Z �� t �| � � j |j � � S r )�superr
�__contains__)r r
� __class__s �r r zFoldedCase.__contains__R s �� ��w�}��+�+�E�K�K�M�:�:r c � � | t |� v S )zDoes self appear in other?)r r s r �in_zFoldedCase.in_U s � ��z�%�(�(�(r c � �� t �| � � S r )r r
)r r s �r r
zFoldedCase.lowerZ s �� ��w�}��r c �\ � | j � j |j � � S r )r
�index)r �subs r r$ zFoldedCase.index^ s � ��z�z�|�!�!�#�)�)�+�.�.r c � � t j t j |� t j � }|j | |� S r )�re�compile�escape�I�split)r �splitter�maxsplit�patterns r r+ zFoldedCase.splita s0 � ��*�*�R�Y�Y�x�0�"�$�$�7���}�}�T�8�,�,r )� r )�__name__�
__module__�__qualname__�__doc__r r r r r r r! r r
r$ r+ �
__classcell__)r s @r r r sJ �� �9�v,�,�-�-�"�;�)�
�� ��/�-r r )r'