
ed]c           @   s   d  d l  m Z d  d l m Z d e f d     YZ d e f d     YZ d e f d     YZ d	 e f d
     YZ d e f d     YZ	 d e f d     YZ
 d e f d     YZ d S(   i   (   t   BaseStemmer(   t   Amongt   FinnishStemmerc        !   B   s
  e  Z d  Z 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  g
 Z e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  g Z e d d d  e d d d  e d d d  e d d d  e d d d  e d d d  g Z e d d d  e d d d  g Z 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  g	 Z 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  g Z	 e d0 d d1  e d d2 d  e d d2 d  e d d2 d  e d d2 d  e d d# d  e d d# d  e d3 d# d  e d d d  e d d d  e d4 d d  e d5 d d6  e d d7 d  e d8 d7 d d9  e d: d7 d d;  e d< d7 d  e d= d7 d d9  e d> d7 d  e d? d7 d d9  e d@ d7 d#  e d	 d7 d'  e dA d7 d%  e dB d d1  e d dC d  e d dC d  e d dC d  e d dC d  e d dD d  e d dD d  e dE dD d  g Z
 e dF d d  e dG d d  e dH d d  e dI d d  e dJ d d  e dK d d  e dL d' d  e dM d d  e dN d6 d  e dO d d  e dP d d  e dQ dR d  e dS d d  e dT dU d  g Z e dV d d  e dW d d  g Z e dG d d  e dH d2 d  g Z dX d d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d1 g Z dY dZ dY d g Z dX d[ d\ d d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d1 d2 d] g Z dX d[ d\ d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d1 d2 d] g Z dX d^ d_ d d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d1 d2 d] g Z e Z d` Z d2 Z d2 Z da   Z db   Z dc   Z dd   Z de   Z df   Z dg   Z dh   Z di   Z  dj   Z! dk   Z" dl   Z# RS(m   s   
    This class implements the stemming algorithm defined by a snowball script.
    Generated by Snowball 2.0.0 - https://snowballstem.org/
    u   paii   u   stii   u   kaanu   hanu   kinu   hänu   käänu   kou   päu   köu   llau   nau   ssau   tau   ltai   u   stau   lläu   näu   ssäu   täu   ltäu   stäu   lleu   ineu   nsau   mmeu   nneu   niu   siu   ani   u   eni   u   äni   u   nsäu   aau   eeu   iiu   oou   uuu   ääu   ööu   ai   i    u   ttau   ksiu   ni   i   u   dent   _FinnishStemmer__r_VIu   seent   _FinnishStemmer__r_LONGu   henu   ttenu   hinu   siinu   honu   hönu   äi   i   u   ttäu   ejau   mmau   immau   mpau   impau   mmiu   immiu   mpiu   impiu   ejäu   mmäu   immäi
   u   mpäu   impäi   u   iu   ji   iw   i   iA   i   i    ia   i   t    c         C   s   |  j  |  _ |  j  |  _ |  j t j d d  s4 t S|  j t j d d  sP t S|  j d 7_ |  j |  _ |  j t j d d  s t S|  j t j d d  s t S|  j d 7_ |  j |  _ t	 S(   Nia   i   i   (
   t   limitt   I_p1t   I_p2t   go_out_groupingR   t   g_V1t   Falset   go_in_groupingt   cursort   True(   t   self(    (    s>   lib/python2.7/site-packages/snowballstemmer/finnish_stemmer.pyt   __r_mark_regions   s    c         C   s   |  j  |  j k s t St S(   N(   R   R   R   R   (   R   (    (    s>   lib/python2.7/site-packages/snowballstemmer/finnish_stemmer.pyt   __r_R2   s    c         C   s   |  j  |  j k  r t S|  j } |  j |  _ |  j  |  _ |  j t j  } | d k rb | |  _ t S|  j  |  _ | |  _ | d k r |  j	 t j
 d d  s t Sn | d k r |  j   s t Sn  |  j   s t St S(   Ni    i   ia   i   i   (   R   R   R   t   limit_backwardt   kett   find_among_bR   t   a_0t   brat   in_grouping_bt   g_particle_endt   _FinnishStemmer__r_R2t	   slice_delR   (   R   t   v_2t	   among_var(    (    s>   lib/python2.7/site-packages/snowballstemmer/finnish_stemmer.pyt   __r_particle_etc   s(    			c         C   s  |  j  |  j k  r t S|  j } |  j |  _ |  j  |  _ |  j t j  } | d k rb | |  _ t S|  j  |  _ | |  _ | d k r |  j	 |  j  } y# |  j
 d  s t    n  t SWn t k
 r n X|  j	 | |  _  |  j   st Sn-| d k rJ|  j   s	t S|  j  |  _ |  j
 d  s(t S|  j  |  _ |  j d  st Sn | d k ri|  j   st Sn | d k r|  j t j  d k rt S|  j   st Snv | d	 k r|  j t j  d k rt S|  j   st Sn; | d
 k r|  j t j  d k rt S|  j   st Sn  t S(   Ni    i   u   ki   u   kseu   ksii   i   i   i   (   R   R   R   R   R   R   R   t   a_4R   R   t   eq_s_bt   lab0R   t
   slice_fromt   a_1t   a_2t   a_3R   (   R   R   R   t   v_3(    (    s>   lib/python2.7/site-packages/snowballstemmer/finnish_stemmer.pyt   __r_possessive   sd    			 c         C   s    |  j  t j  d k r t St S(   Ni    (   R   R   t   a_5R   R   (   R   (    (    s>   lib/python2.7/site-packages/snowballstemmer/finnish_stemmer.pyt   __r_LONG$  s    c         C   s3   |  j  d  s t S|  j t j d d  s/ t St S(   Nu   iia   i   (   R   R   R   R   t   g_V2R   (   R   (    (    s>   lib/python2.7/site-packages/snowballstemmer/finnish_stemmer.pyt   __r_VI*  s
    c         C   s  |  j  |  j k  r t S|  j } |  j |  _ |  j  |  _ |  j t j  } | d k rb | |  _ t S|  j  |  _ | |  _ | d k r |  j	 d  st Sn-| d k r |  j	 d  st Sn| d k r |  j	 d  st Sn| d k r |  j	 d	  st Sn| d
 k r!|  j	 d  st Sn| d k rC|  j	 d  st Sn| d k r|  j
 |  j  } y	|  j
 |  j  } y |  j
 |  j  } y% |  j   st    n  t    Wn t k
 rn X|  j
 | |  _  |  j	 d  s|  j
 | |  _  t    n  Wn t k
 rn X|  j
 | |  _  |  j  |  j k rL|  j
 | |  _  t    n  |  j  d 8_  |  j  |  _ Wqt k
 r{qXnG | d k r|  j t j d d  st S|  j t j d d  st Sn  |  j   st St |  _ t S(   Ni    i   u   ai   u   ei   u   ii   u   oi   u   äi   u   öi   u   iei   ia   i   ib   iz   (   R   R   R   R   R   R   R   t   a_6R   R   R   R   t   lab2t   lab1R    R   R
   t   g_CR   R   t   B_ending_removed(   R   R   R   R%   t   v_4t   v_5(    (    s>   lib/python2.7/site-packages/snowballstemmer/finnish_stemmer.pyt   __r_case_ending3  s    			   	c         C   s   |  j  |  j k  r t S|  j } |  j |  _ |  j  |  _ |  j t j  } | d k rb | |  _ t S|  j  |  _ | |  _ | d k r |  j	 |  j  } y# |  j
 d  s t    n  t SWn t k
 r n X|  j	 | |  _  n  |  j   s t St S(   Ni    i   u   po(   R   R   R   R   R   R   R   t   a_7R   R   R   R    R   R   (   R   R   R   R%   (    (    s>   lib/python2.7/site-packages/snowballstemmer/finnish_stemmer.pyt   __r_other_endings  s.    			 c         C   s   |  j  |  j k  r t S|  j } |  j |  _ |  j  |  _ |  j t j  d k r\ | |  _ t S|  j  |  _ | |  _ |  j	   s t St
 S(   Ni    (   R   R   R   R   R   R   R   t   a_8R   R   R   (   R   R   (    (    s>   lib/python2.7/site-packages/snowballstemmer/finnish_stemmer.pyt   __r_i_plural  s    			c         C   s  |  j  |  j k  r t S|  j } |  j |  _ |  j  |  _ |  j d  sS | |  _ t S|  j  |  _ |  j |  j  } |  j t	 j
 d d  s | |  _ t S|  j | |  _  |  j   s t S| |  _ |  j  |  j k  r t S|  j } |  j |  _ |  j  |  _ |  j t	 j  } | d k r| |  _ t S|  j  |  _ | |  _ | d k r|  j |  j  } y# |  j d  snt    n  t SWn t k
 rn X|  j | |  _  n  |  j   st St S(   Nu   tia   i   i    i   u   po(   R   R   R   R   R   R   R   R   R   R   R
   R   R   R   t   a_9R    R   (   R   R   R%   R1   R   t   v_6(    (    s>   lib/python2.7/site-packages/snowballstemmer/finnish_stemmer.pyt   __r_t_plural  sP    							 c         C   s  |  j  |  j k  r t S|  j } |  j |  _ |  j |  j  } y |  j |  j  } |  j   sf t    n  |  j | |  _  |  j  |  _ |  j  |  j k r t    n  |  j  d 8_  |  j  |  _ |  j	   s t SWn t k
 r n X|  j | |  _  |  j |  j  } yt |  j  |  _ |  j
 t j d d  s3t    n  |  j  |  _ |  j
 t j d d  sct    n  |  j	   sst SWn t k
 rn X|  j | |  _  |  j |  j  } y |  j  |  _ |  j d  st    n  |  j  |  _ y{ |  j |  j  } y( |  j d  st    n  t    Wn t k
 r,n X|  j | |  _  |  j d  sXt    n  Wn t k
 rln X|  j	   s}t SWn t k
 rn X|  j | |  _  |  j |  j  } yb |  j  |  _ |  j d  st    n  |  j  |  _ |  j d  st    n  |  j	   st SWn t k
 r'n X|  j | |  _  | |  _ |  j t j d d	  s]t S|  j  |  _ |  j
 t j d d  st S|  j  |  _ |  j   |  _ |  j d
 k rt S|  j |  j  st S|  j	   st St S(   Ni   ia   i   ib   iz   u   ju   ou   ui   R   (   R   R   R   R   R   R   R    R   R   R   R   R   t   g_AEIR-   R.   R   R,   t   lab4t   lab3t   lab5t   go_in_grouping_bR
   t   slice_tot   S_xR   (   R   R   R%   R0   R1   R8   t   v_7t   v_8(    (    s>   lib/python2.7/site-packages/snowballstemmer/finnish_stemmer.pyt   __r_tidy  s    	      	c   	      C   s  |  j  } |  j   | |  _  t |  _ |  j  |  _ |  j |  _  |  j |  j  } |  j   |  j | |  _  |  j |  j  } |  j   |  j | |  _  |  j |  j  } |  j   |  j | |  _  |  j |  j  } |  j	   |  j | |  _  y yL |  j s t
    n  |  j |  j  } |  j   |  j | |  _  t    Wn t
 k
 rGn X|  j |  j  } |  j   |  j | |  _  Wn t k
 rn X|  j |  j  } |  j   |  j | |  _  |  j |  _  t S(   N(   R   t   _FinnishStemmer__r_mark_regionsR   R/   R   R   t   _FinnishStemmer__r_particle_etct   _FinnishStemmer__r_possessivet   _FinnishStemmer__r_case_endingt    _FinnishStemmer__r_other_endingsR-   t   _FinnishStemmer__r_i_pluralR    t   _FinnishStemmer__r_t_pluralt   _FinnishStemmer__r_tidyR   (	   R   t   v_1R   R%   R0   R1   RA   RB   t   v_9(    (    s>   lib/python2.7/site-packages/snowballstemmer/finnish_stemmer.pyt   _stem  sL    	
		



	
 
 
($   t   __name__t
   __module__t   __doc__R   R   R"   R#   R$   R   R'   R+   R3   R5   R7   R:   R.   R
   R)   R   R   R/   R@   R   R   RD   R   RE   RF   R   R   RG   RH   RI   RJ   RK   RN   (    (    (    s>   lib/python2.7/site-packages/snowballstemmer/finnish_stemmer.pyR      s   9???			!	T				^	#		<	}R    c           B   s   e  Z RS(    (   RO   RP   (    (    (    s>   lib/python2.7/site-packages/snowballstemmer/finnish_stemmer.pyR      s    R-   c           B   s   e  Z RS(    (   RO   RP   (    (    (    s>   lib/python2.7/site-packages/snowballstemmer/finnish_stemmer.pyR-     s    R,   c           B   s   e  Z RS(    (   RO   RP   (    (    (    s>   lib/python2.7/site-packages/snowballstemmer/finnish_stemmer.pyR,     s    R<   c           B   s   e  Z RS(    (   RO   RP   (    (    (    s>   lib/python2.7/site-packages/snowballstemmer/finnish_stemmer.pyR<     s    R;   c           B   s   e  Z RS(    (   RO   RP   (    (    (    s>   lib/python2.7/site-packages/snowballstemmer/finnish_stemmer.pyR;     s    R=   c           B   s   e  Z RS(    (   RO   RP   (    (    (    s>   lib/python2.7/site-packages/snowballstemmer/finnish_stemmer.pyR=     s    N(   t   basestemmerR    t   amongR   R   t   BaseExceptionR    R-   R,   R<   R;   R=   (    (    (    s>   lib/python2.7/site-packages/snowballstemmer/finnish_stemmer.pyt   <module>   s     