o
    ªZh@  ã                   @   sv   d dl Z d dlmZ d dlmZ d dlmZmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZ G d	d
„ d
eeƒZdS )é    N)ÚAbbreviationReplacer)ÚBetweenPunctuation)ÚCommonÚStandard)Ú	Processor)ÚText)Úreplace_punctuation)ÚListItemReplacerc                   @   sb   e Zd ZdZG dd„ deƒZG dd„ deƒZG dd„ dejƒZG dd	„ d	eƒZG d
d„ de	ƒZ	dS )ÚSlovakÚskc                   @   s   e Zd Zdd„ ZdS )zSlovak.ListItemReplacerc                 C   s   |   ¡  |  ¡  |  ¡  | jS ©N)Zformat_roman_numeral_listsZ!format_numbered_list_with_periodsZ format_numbered_list_with_parensÚtext©Úself© r   úH/var/www/html/lang_env/lib/python3.10/site-packages/pysbd/lang/slovak.pyÚadd_line_break   s   z&Slovak.ListItemReplacer.add_line_breakN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r	      s    r	   c                   @   s   e Zd Zg Zdd„ ZdS )zSlovak.AbbreviationReplacerc                 C   s$   |  dd¡d }|  |d |¡}|S )NÚ.õ   âˆ¯)Úreplace)r   ÚtxtZabbrZabbr_newr   r   r   Úreplace_period_of_abbr    s   z2Slovak.AbbreviationReplacer.replace_period_of_abbrN)r   r   r   ZSENTENCE_STARTERSr   r   r   r   r   r      s    r   c                   @   s$   e Zd Zg d¢Zg d¢Zg d¢ZdS )zSlovak.Abbreviation)Êõ   ÄÚnoÚnrzs. r. oÚingÚpza. dzo. kzpol. prz
a. s. a. pzp. n. lÚredzo.kza.dzm.ozpol.prza.s.a.pzp.n.lÚppÚslZcorpZplgrÚtzZrtgzo.c.pzo. c. pzc.kzc. kzn.azn. aza.mza. mZvzzi.bzi. bu   Ãº.p.v.ou   Ãº. p. v. oZbrosZrsdrÚdocZtuZodszn.w.azn. w. au   nÃ¡rZpedgZpaeddrZrndrZnaprkza.g.pza. g. pÚprofÚprza.vza. vZporZmvdru   neÅ¡pzu.szu. sÚktZvydze.tze. tÚalzll.mzll. mzo.f.izo. f. iÚmrZapodu   sÃºkrZstredzs.e.gzs. e. gÚsrZtvzÚindÚvarÚetcZatdzn.ozn. ozs.azs. au   napÅ™za.i.iza. i. iza.k.aza. k. aZkonkru   ÄslZoddZltdzt.zzt. zzo.zzo. zZobvZobrZpokÚtelu   Å¡tZskrZphdrÚxxu   Å¡.pu   Å¡. pzph.dzph. dzm.n.mzm. n. mÚzzZrozu   atÄ.Zevzv.spzv. spÚdrscÚmudru   t.Äu   t. ÄÚelÚosÚcozr.ozr. oÚstrzp.azp. aZzdravotZprekÚgenu   viÄÚdrZccazp.szp. su   zÃ¡kZslovÚarmÚincÚmaxzd.czk.oúa. r. kzd. czk. or<   ZsocÚbcZzsZakadÚszZpoznÚtru   nÃ¡mZkolZcscZulÚspzo.iZjrZzbÚsvZtju   ÄsZtznu   prÃ­pZivZhlÚstZpodÚviZtisZstorZrozhZmldu   atÄÚmgrza.sza. sZphdzz.zzz. zÚjudrr   ZhodÚvsu   pÃ­smzs.r.oÚminÚmlZiiizt.jzt. jZspolÚmilÚiiZnaprÚrespZtzv)rB   r   r8   r2   rE   r   rD   r=   r1   r$   r%   )r   r   r   N)r   r   r   ZABBREVIATIONSZPREPOSITIVE_ABBREVIATIONSZNUMBER_ABBREVIATIONSr   r   r   r   ÚAbbreviation*   s    rL   c                   @   s$   e Zd ZdZdZdd„ Zdd„ ZdS )zSlovak.BetweenPunctuationu   â€ž(?>[^â€œ\\]+|\\{2}|\\.)*â€œu1   \â€ž(?=(?P<tmp>[^â€œ\\]+|\\{2}|\\.)*)(?P=tmp)\â€œc                 C   s   t  | jt|¡S r   )ÚreÚsubÚ$BETWEEN_SLOVAK_DOUBLE_QUOTES_REGEX_2r   ©r   r   r   r   r   Ú,sub_punctuation_between_slovak_double_quotes4   s   zFSlovak.BetweenPunctuation.sub_punctuation_between_slovak_double_quotesc                 C   s^   |   |¡}|  |¡}|  |¡}|  |¡}|  |¡}|  |¡}|  |¡}|  |¡}|  |¡}|S r   )	Z%sub_punctuation_between_single_quotesZ,sub_punctuation_between_single_quote_slantedZ%sub_punctuation_between_double_quotesZ'sub_punctuation_between_square_bracketsZsub_punctuation_between_parensZ$sub_punctuation_between_quotes_arrowZ!sub_punctuation_between_em_dashesZ&sub_punctuation_between_quotes_slantedrQ   rP   r   r   r   Ú)sub_punctuation_between_quotes_and_parens7   s   








zCSlovak.BetweenPunctuation.sub_punctuation_between_quotes_and_parensN)r   r   r   Z"BETWEEN_SLOVAK_DOUBLE_QUOTES_REGEXrO   rQ   rR   r   r   r   r   r   /   s
    r   c                       sF   e Zd Zd‡ fdd„	Zdd„ Zdd„ Zdd	„ Zd
d„ Zdd„ Z‡  Z	S )zSlovak.ProcessorFc                    s   t ƒ  |||¡ d S r   )ÚsuperÚ__init__)r   r   ÚlangZ	char_span©Ú	__class__r   r   rT   E   s   zSlovak.Processor.__init__c                 C   s„   | j s| j S | j  dd¡| _ | j | j ¡}| ¡ | _ |  ¡  |  ¡  |  ¡  |  ¡  t	| j ƒ 
| jjj| jj| jj¡| _ |  ¡ }|S )NÚ
ú)r   r   rU   r	   r   Zreplace_abbreviationsÚreplace_numbersZreplace_continuous_punctuationZ)replace_periods_before_numeric_referencesr   ÚapplyrL   ZWithMultiplePeriodsAndEmailRuleZGeoLocationRuleZFileFormatRuleZsplit_into_segments)r   ZliZpostprocessed_sentsr   r   r   ÚprocessH   s   

þzSlovak.Processor.processc                 C   s6   t | jƒj| jjjŽ | _|  ¡  |  ¡  |  ¡  | jS r   )	r   r   r[   rU   ZNumbersZAllÚreplace_period_in_slovak_datesÚ"replace_period_in_ordinal_numeralsÚ replace_period_in_roman_numeralsr   r   r   r   rZ   [   s
   z Slovak.Processor.replace_numbersc                 C   s   t  dd| j¡| _d S )Nz(?<=\d)\.(?=\s*[a-z]+)r   )rM   rN   r   r   r   r   r   r^   b   s   z3Slovak.Processor.replace_period_in_ordinal_numeralsc                 C   s   t  dd| jt j¡| _d S )Nz"((\s+[VXI]+)|(^[VXI]+))(\.)(?=\s+)u   \1âˆ¯)rM   rN   r   Ú
IGNORECASEr   r   r   r   r_   f   s   z1Slovak.Processor.replace_period_in_roman_numeralsc                 C   s0   g d¢}|D ]}t  dj|dd| j¡| _qd S )N)u   JanuÃ¡ru   FebruÃ¡rZMarecu   AprÃ­lu   MÃ¡ju   JÃºnu   JÃºlZAugustZ	Septemberu   OktÃ³berZNovemberZDecemberu   JanuÃ¡rau	   FebruÃ¡raZMarcau   AprÃ­lau   MÃ¡jau   JÃºnau   JÃºlaZAugustaZ	Septembrau   OktÃ³braZNovembraZDecembraz(?<=\d)\.(?=\s*{month}))Úmonthr   )rM   rN   Úformatr   )r   ÚMONTHSra   r   r   r   r]   j   s   þz/Slovak.Processor.replace_period_in_slovak_dates)F)
r   r   r   rT   r\   rZ   r^   r_   r]   Ú__classcell__r   r   rV   r   r   C   s    r   N)
r   r   r   Ziso_coder	   r   r   rL   r   r   r   r   r   r   r
      s    r
   )rM   Zpysbd.abbreviation_replacerr   Zpysbd.between_punctuationr   Zpysbd.lang.commonr   r   Zpysbd.processorr   Zpysbd.utilsr   Zpysbd.punctuation_replacerr   Zpysbd.lists_item_replacerr	   r
   r   r   r   r   Ú<module>   s   