o
    iH                     @   sj   d dl mZmZmZ ddlmZ ddlmZ G dd deZdde	d	e
d
e	fddZde	d
e	fddZdS )    )DictListTuple   )
Lemmatizer)Tokenc                       sP   e Zd Zededeee ee f f fddZdedee fddZ	  Z
S )IrishLemmatizermodereturnc                    s$   |dkrg d}|g fS t  |S )N
pos_lookup)lemma_lookup_adjlemma_lookup_adplemma_lookup_nounlemma_lookup_verb)superget_lookups_config)clsr	   required	__class__ L/home/ubuntu/.local/lib/python3.10/site-packages/spacy/lang/ga/lemmatizer.pyr      s   z"IrishLemmatizer.get_lookups_configtokenc                 C   s  |j }t|j}|dvr| gS t|}d}|dd  dkr1|dd  dv r1|dd  }| }|dkr;d	}| rj|d
krZd|jv sMd|jv rZd|jv }t|| gS |dkrjd|jv rjt| gS | jd| i }dd }	|dkr|	|	|| S g }
|dkr|

|	|	| |

|	|	| n|

|	|	|  |

|	|	|  t|
dkr| g}
|
S )N)PROPNADPADJNOUNVERB r      h      aáeéiíoóuúr   nounr   zVerbForm=VnounzVerbForm=Infz
Form=HPrefr   zVerbForm=Partlemma_lookup_c                 S   s$   | d u rg } | S t | ts| g} | S )N)
isinstancelist)valuer   r   r   to_list0   s   
z5IrishLemmatizer.pos_lookup_lemmatize.<locals>.to_listr   )pos_unponctextlowerdemutate	has_morphmorphlookups	get_tablegetextendlen)selfr   univ_posstring	demutated	secondary
lookup_poshpreflookup_tabler(   retr   r   r   pos_lookup_lemmatize   s>   

(

z$IrishLemmatizer.pos_lookup_lemmatize)__name__
__module____qualname__classmethodstrr   r   r   r   r>   __classcell__r   r   r   r   r      s    (r   Fwordis_hprefr
   c                 C   s~  d}d}|   }|dr| dd  } n
|dr!| dd  } n|dr-| dd  } n|dr9| dd  } n|d	rE| dd  } n|d
rQ| dd  } n|dr]| dd  } n| dd dkrt| dd |v rt| dd  } n|dr| dd |v r| dd  } n|dr| dd  } n|dr| dd  } n|dr| dd  } ns|dr| dd  } ng|dr| dd  } n[|dr| dd  } nO|dr| dd  } nC|dr| dd  } n7|dr| dd  } n+|r| dd dkr| dd  } n| dd dkr| dd |v r| dd  } |dd dv r=|dd dkr=| dd | dd   } | S )Nu   AÁEÉIÍOÓUÚr"   bhfr!   mbr   gcndngbpdtr   nzn-r   zbh-fzm-bzg-czn-dzn-gzb-pzd-ttszt-sr    	bcdfgmpst)r,   
startswith)rE   rF   UVOWELSLVOWELSlcr   r   r   r-   E   s\   






 








$$r-   c                 C   s   i ddddddddd	d
dddddddddddddddddddddd d!d"d#d$i}g }| D ]}||v rK| ||  q=| | q=d%|S )&Nu   ḃbhu   ċchu   ḋdhu   ḟfhu   ġghu   ṁmhu   ṗphu   ṡshu   ṫthu   ḂBHu   ĊCHu   ḊDHu   ḞFHu   ĠGHu   ṀMHu   ṖPHu   ṠSHu   ṪTHr   )appendjoin)rE   PONCbufrV   r   r   r   r*      sV   	

r*   N)F)typingr   r   r   pipeliner   tokensr   r   rC   boolr-   r*   r   r   r   r   <module>   s    >@