o
    욌h                     @   s<   d dl mZ d dlmZ G dd deZG dd deZdS )   )BaseStemmer)Amongc                
   @   s  e Zd ZdZg edddedddedddedd	ded
ddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddedddeddd	edd ded!d"ded#d"ded$d"ded%d ded&d'ded(d'ded)d ded*d+ded,d+ded-d ded.dded/dded0dded1ddZed2dded3dded4dded5dded6dded7dded8ddgZed9dded:dded;dded<dd=ed>dd	gZg d?Zg d@Z	dZ
dZdAdB ZdCdD ZdEdF ZdGdH ZdIdJ ZdKS )LSwedishStemmerz
    This class implements the stemming algorithm defined by a snowball script.
    Generated by Snowball 2.2.0 - https://snowballstem.org/
    ar   arna    ernaheterna   ornaadeade   andearneareasteenanden   arenhetenernarerheter   orsas   arnas   ernasornasesades   andesensarens   hetensernsatandethetastddgdnndtgtktttigligelsfullt   u   löst)   A      r   r   r   r   r   r   r   r   r   r   r   r   r      r       )w         c                 C   s   | j | _| j}| jd }|| j krdS || _| j| _|| _| tjdds'dS | tjdds1dS |  jd7  _| j| _z| j| jk sFt | j| _W dS  tyV   Y dS w )Nr?   Fa      r   T)	limitI_p1cursorI_xgo_out_groupingr   g_vgo_in_groupinglab0)selfv_1c rU   \/var/www/Befach/backend/venv/lib/python3.10/site-packages/snowballstemmer/swedish_stemmer.py__r_mark_regionsN   s,   


zSwedishStemmer.__r_mark_regionsc                 C   s   | j | jk rdS | j}| j| _| j | _| tj}|dkr"|| _dS | j | _|| _|dkr5|  s3dS dS | 	tj
dds?dS |  sEdS dS )NFr   r   b   y   T)rL   rK   limit_backwardketfind_among_br   a_0bra	slice_delin_grouping_b
g_s_endingrR   v_2	among_varrU   rU   rV   __r_main_suffixd   s(   zSwedishStemmer.__r_main_suffixc                 C   s   | j | jk rdS | j}| j| _| j| j  }| tjdkr"|| _dS | j| | _ | j | _| j | jkr7|| _dS |  j d8  _ | j | _| 	 sHdS || _dS )NFr   r   T)
rL   rK   rZ   rJ   r\   r   a_1r[   r^   r_   )rR   rc   v_3rU   rU   rV   __r_consonant_pair|   s&   z!SwedishStemmer.__r_consonant_pairc                 C   s   | j | jk rdS | j}| j| _| j | _| tj}|dkr"|| _dS | j | _|dkr1|  s0dS n|dkr=| 	ds<dS n| 	dsDdS || _dS )NFr   r   r   u   lösfullT)
rL   rK   rZ   r[   r\   r   a_2r^   r_   
slice_fromrb   rU   rU   rV   __r_other_suffix   s,   

zSwedishStemmer.__r_other_suffixc                 C   s   | j }|   || _ | j | _| j| _ | j| j  }|   | j| | _ | j| j  }|   | j| | _ | j| j  }|   | j| | _ | j| _ dS )NT)rL   _SwedishStemmer__r_mark_regionsrZ   rJ   _SwedishStemmer__r_main_suffix!_SwedishStemmer__r_consonant_pair_SwedishStemmer__r_other_suffix)rR   rS   rc   rg   v_4rU   rU   rV   _stem   s    zSwedishStemmer._stemN)__name__
__module____qualname____doc__r   r]   rf   rj   rO   ra   rM   rK   rm   rn   ro   rp   rr   rU   rU   rU   rV   r      s    








	























 
!
"
#
$
%
)










r   c                   @   s   e Zd ZdS )rQ   N)rs   rt   ru   rU   rU   rU   rV   rQ      s    rQ   N)basestemmerr   amongr   r   BaseExceptionrQ   rU   rU   rU   rV   <module>   s
    7