o
    Lεid                     @   sN   d dl mZ d dlmZmZ d dlmZ d dlmZm	Z	 G dd deeZ
dS )    )AbbreviationReplacer)CommonStandard)	Processor)TextRulec                   @   sF   e Zd ZdZdZG dd deZG dd dejZG dd deZd	S )
KazakhkkzD\b[\u0400-\u0500]+(?:\.\s?[\u0400-\u0500])+[.]|b[a-z](?:\.[a-z])+[.]c                       s&   e Zd Zd fdd	Zdd Z  ZS )zKazakh.ProcessorFc                    s   t  ||| d S Nsuper__init__)selftextlang	char_span	__class__ E/home/ubuntu/.local/lib/python3.10/site-packages/pysbd/lang/kazakh.pyr      s   zKazakh.Processor.__init__c                 C   s6   |  | }tdd}tdd}t|||}|S )Nu   (?<=)\?(?=\s*[-—]\s*)u   &ᓷ&u   (?<=)!(?=\s*[-—]\s*)u   &ᓴ&)between_punctuation_processorreplacer   r   apply)r   txt'QuestionMarkFollowedByDashLowercaseRule*ExclamationMarkFollowedByDashLowercaseRuler   r   r   between_punctuation   s   


z$Kazakh.Processor.between_punctuation)F)__name__
__module____qualname__r   r   __classcell__r   r   r   r   r      s    r   c                   @   s   e Zd Zg dZg Zg ZdS )zKazakh.Abbreviation(9  afpanpatpbaebgbpcamcctvcdcezcgicnpcfarcfbieitiepoergpgpshashivhrhhttpicuidfimdimer8   r9   ipisokazkpokpakzrA   mrinasanbanbcndsohlomltppmpdapkkpsmpsprafrssrtlsassmesmstntudfuefausbutcxzdf   әқбкr[   u   аақu   авг.u   aббu   аекu   акu   ақu   акцион.u   аксрu   ақшu   англu
   аөсшкu   апр   м.u   а.u   р.   ғ.u   апр.u   аум.   ацатu   әч   т. б.   б. з. б.r`      б. з. д.ra   u   биікт.u   б. т.u	   биол.u   биохимu   бөu   б. э. д.u   бтаu   бұұu   вичu   всоонлu   геогр.u	   геол.u   гленкорu   гэсu   қк   кмu   гu   млнu   млрд   тu   ғ. с.r]   u   қ.r]   u   дек.u   днқu   дсұu   еақк   еқыұu   ембімұнайгазu   еоu   еуразэқu   еуроодақu   еұу   ж.re   u   жж.u   жооu   жіөu   жсдпu   жшсu   іімu   интаu   исафu
   камазu   кгбu   кеуu   кг   км²rf      км³rg   u
   кимепu   кср   ксроu   кокп   кхдрu   қазатомпромu   қазкср
   қазұуu   қазмұнайгазu   қазпоштаu   қазтагrj   u   қкпu   қмдбu   қрu   қхрu   лат.   м²rk      м³rl   u   магатэu   май.u   максамu   мбu   мвтu   мемлu   мu   мсопu   мткu   мыс.u   насаu   натоu   нквдu	   нояб.u   обл.u   огпуu   окт.u   оңт.u   опекu   оебu   өзенмұнайгазu   өфu   пәкu   пед.u
   ркфсрu   рнқu
   рсфсрu   рфu   свсu   свуu   сдуu   сесu	   сент.u   смu   снпс	   солт.rm   u
   сооноu   ссроu   ссрu   сссрu   сссu   сэсu   дкr_   rc   u   твu   тереңд.u   тех.u   тжқu   тмдu   төм.u   трлнu   тр   т.u   и.r\   u   с.u   ш.rn   u   т. с. с.u   тэцu   уазu   уефаrd   u   ұқкu   ұқшұu	   февр.u   фққu   фсбu   хим.u   хқкоu   шұар   шыұu	   экон.u
   экспоu   цтпu   цасu   янв.dvdu   жктu   ққсrb   r^   u   юнескоu   ббсmgmu   жскu   зооu   бснu   өұқu   оарu   боакu   эөккu   хтқоu   әөкu   жэкu   хдоu
   спбмуu   афu   сбдu   амтu   гсдпu   гсбпu   эыдұu
   нұсжпro   u   жтсхu   хдпu   эқкu   фкққu   пиқu   өгкu   мбфu   мажu   котаu   тжu   укu   оббu   сблu   жхлu   кмсu
   бмтркu   жққu
   бхоооu   мқоu   ржмбu
   гулагu   жкоu   еэыu   еаэыri   u   рфкпu   рлдпu   хвқu   мрu   мтu   ктуu   ртжu   тимu   мемдумrh   u   т.с.сu   с.ш.u   ш.б.u   б.б.u   рубu   минu	   акад.r]   u   ммu   мм.N)r   r   r   ABBREVIATIONSPREPOSITIVE_ABBREVIATIONSNUMBER_ABBREVIATIONSr   r   r   r   Abbreviation    s    ru   c                       s(   e Zd Zg Z fddZdd Z  ZS )zKazakh.AbbreviationReplacerc                    s   t  || d S r
   r   )r   r   r   r   r   r   r   )   s   z$Kazakh.AbbreviationReplacer.__init__c                 C   s6   t dd}t dd}t| j||| _|   | jS )Nu   (?<=^[А-ЯЁ])\.(?=\s)u   ∯u   (?<=\s[А-ЯЁ])\.(?=\s))r   r   r   r   "replace_multi_period_abbreviations)r   .SingleUpperCaseCyrillicLetterAtStartOfLineRule!SingleUpperCaseCyrillicLetterRuler   r   r   r   ,   s   

z#Kazakh.AbbreviationReplacer.replace)r   r   r   SENTENCE_STARTERSr   r   r    r   r   r   r   r   %   s    r   N)	r   r   r   iso_codeMULTI_PERIOD_ABBREVIATION_REGEXr   r   ru   r   r   r   r   r   r      s    r   N)pysbd.abbreviation_replacerr   pysbd.lang.commonr   r   pysbd.processorr   pysbd.utilsr   r   r   r   r   r   r   <module>   s
   