
    ăh	                     2    S r SSK7  SSKJr   " S S5      rg)z
StringMatcher.py

ported from python-Levenshtein
[https://github.com/miohtama/python-Levenshtein]
License available here: https://github.com/miohtama/python-Levenshtein/blob/master/COPYING
    )*)warnc                   d    \ rS rSrSrS rSS jrS rS rS r	S	 r
S
 rS rS rS rS rS rSrg)StringMatcher   z<A SequenceMatcher-like class built on the top of Levenshteinc                 J    S =U l         U l        S =U l        =U l        U l        g N)_ratio	_distance_opcodes_editops_matching_blocksselfs    pC:\Users\julio\OneDrive\Documentos\Trabajo\IdeasFrscas\Cabanna\env\Lib\site-packages\fuzzywuzzy/StringMatcher.py_reset_cacheStringMatcher._reset_cache   s&    '++dn@DDD(=    Nc                 d    U(       a  [        S5        X#sU l        U l        U R                  5         g )Nz.isjunk not NOT implemented, it will be ignored)r   _str1_str2r   )r   isjunkseq1seq2s       r   __init__StringMatcher.__init__   s(    AB!%
DJr   c                 @    XsU l         U l        U R                  5         g r	   )r   r   r   )r   r   r   s      r   set_seqsStringMatcher.set_seqs   s    !%
DJr   c                 0    Xl         U R                  5         g r	   )r   r   )r   r   s     r   set_seq1StringMatcher.set_seq1        
r   c                 0    Xl         U R                  5         g r	   )r   r   )r   r   s     r   set_seq2StringMatcher.set_seq2$   r#   r   c                     U R                   (       dr  U R                  (       a<  [        U R                  U R                  U R                  5      U l         U R                   $ [        U R                  U R                  5      U l         U R                   $ r	   )r   r   opcodesr   r   r   s    r   get_opcodesStringMatcher.get_opcodes(   Z    }}}} 'tzz4:: N }} !(

DJJ ?}}r   c                     U R                   (       dr  U R                  (       a<  [        U R                  U R                  U R                  5      U l         U R                   $ [        U R                  U R                  5      U l         U R                   $ r	   )r   r   editopsr   r   r   s    r   get_editopsStringMatcher.get_editops0   r+   r   c                     U R                   (       d4  [        U R                  5       U R                  U R                  5      U l         U R                   $ r	   )r   matching_blocksr)   r   r   r   s    r   get_matching_blocks!StringMatcher.get_matching_blocks8   s=    $$$3D4D4D4F48JJ

%LD!$$$r   c                     U R                   (       d%  [        U R                  U R                  5      U l         U R                   $ r	   r
   ratior   r   r   s    r   r6   StringMatcher.ratio>   s)    {{

DJJ7DK{{r   c                     U R                   (       d%  [        U R                  U R                  5      U l         U R                   $ r	   r5   r   s    r   quick_ratioStringMatcher.quick_ratioC   s)    {{

DJJ7DK{{r   c                 z    [        U R                  5      [        U R                  5      p!S[        X5      -  X-   -  $ )Ng       @)lenr   r   min)r   len1len2s      r   real_quick_ratioStringMatcher.real_quick_ratioI   s/    _c$**odS_$44r   c                     U R                   (       d%  [        U R                  U R                  5      U l         U R                   $ r	   )r   distancer   r   r   s    r   rC   StringMatcher.distanceM   s)    ~~%djj$**=DN~~r   )r   r   r   r   r
   r   r   )N rE   )__name__
__module____qualname____firstlineno____doc__r   r   r   r!   r%   r)   r.   r2   r6   r9   r@   rC   __static_attributes__ r   r   r   r      sB    FE%
5r   r   N)rJ   Levenshteinwarningsr   r   rL   r   r   <module>rO      s     A Ar   