File: //proc/self/root/usr/local/lib/python3.9/site-packages/kombu/utils/__pycache__/text.cpython-39.pyc
a
X>h� � @ s� d Z ddlmZ ddlmZ ddlmZmZ ddlm Z d!dd�Z
d"d
ddd
d�dd�Zd#d
dddd�dd�Zd
dd�dd�Z
d$d
ddd
d
dd�dd�Zd%d
d
d
dd�dd�Zd S )&zText Utilities.� )�annotations)�SequenceMatcher)�Iterable�Iterator)�version_info_t� c s d� � fdd�| D ��S )z2Escape string for use within a regular expression.r c 3 s6 | ].}|� � s|� v r|n|d kr&dnd| V qdS )� z\000�\N)�isalnum)�.0�c��white� �:/usr/local/lib/python3.9/site-packages/kombu/utils/text.py� <genexpr> s �zescape_regex.<locals>.<genexpr>)�join)�pr r r
r �escape_regex
s �r �333333�?�strz
Iterable[str]�floatzIterator[tuple[float, str]])�needle�haystack� min_ratio�returnc c s0 |D ]&}t d| |��� }||kr||fV qdS )zVFuzzy match: iteratively.
Yields
------
Tuple: of ratio and key.
N)r �ratio)r r r �keyr r r r �fmatch_iter s r z
str | Nonec C s8 zt t| ||�dd�d d W S ty2 Y dS 0 dS )z'Fuzzy match - Find best match (scalar).T)�reverser � N)�sortedr �
IndexError)r r r r r r �fmatch_best# s ���r# r )�sr c C sv t | �d�� }t|jt�r<t|j|jgt|dd� � �R � }|j sr|j
rrd|j
v rrtt|dd� �|j
�d� � }|S )z-Convert version string to version info tuple.�.� N�-r � )�_unpack_version�split�
isinstance�micror r �major�minor�_splitmicro�serial�releaselevel�list)r$ �vr r r �version_string_as_tuple- s " r4 z str | int)r- r. r, r1 r0 r c C s t t| �t|�|||�S )N)r �int)r- r. r, r1 r0 r r r r) 9 s r) ztuple[int, str, str])r, r1 r0 r c C sN t | �D ]\}}|�� s q0qt| p&d�||fS t| d |� �| |d � |fS )Nr )� enumerate�isdigitr5 )r, r1 r0 �index�charr r r r/ C s
r/ N)r )r )r )r r r r )r r )�__doc__�
__future__r �difflibr �typingr r Zkombur r r r# r4 r) r/ r r r r �<module> s
�