Your IP : 3.148.145.219
�
c��fv � �6 � d dl Z ddlmZ G d� de� � ZdS )� N� )�method_cachec �n � � 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 �V � | � � � |� � � k S �N��lower��self�others �?/opt/alt/python311/lib64/python3.11/importlib/metadata/_text.py�__lt__zFoldedCase.__lt__C � � ��z�z�|�|�e�k�k�m�m�+�+� c �V � | � � � |� � � k S r r r s r �__gt__zFoldedCase.__gt__F r r c �V � | � � � |� � � k S r r r s r �__eq__zFoldedCase.__eq__I � � ��z�z�|�|�u�{�{�}�}�,�,r c �V � | � � � |� � � k S r r r s r �__ne__zFoldedCase.__ne__L r r c �D � t | � � � � � S r )�hashr
)r s r �__hash__zFoldedCase.__hash__O s � ��D�J�J�L�L�!�!�!r c � �� t � � � � � � |� � � � � S r )�superr
�__contains__)r r
� __class__s �r r zFoldedCase.__contains__R s+ �� ��w�w�}�}���+�+�E�K�K�M�M�:�:�:r c �$ � | t |� � v S )zDoes self appear in other?)r r s r �in_zFoldedCase.in_U s � ��z�%�(�(�(�(r c �D �� t � � � � � S r )r r
)r r s �r r
zFoldedCase.lowerZ s �� ��w�w�}�}���r c �t � | � � � � |� � � � � S r )r
�index)r �subs r r$ zFoldedCase.index^ s&