28 lines
1.5 KiB
Python
28 lines
1.5 KiB
Python
|
# -*- coding: utf-8 -*-
|
|||
|
import re
|
|||
|
|
|||
|
from pysbd.abbreviation_replacer import AbbreviationReplacer
|
|||
|
from pysbd.lang.common import Common, Standard
|
|||
|
|
|||
|
class Russian(Common, Standard):
|
|||
|
|
|||
|
iso_code = 'ru'
|
|||
|
|
|||
|
class Abbreviation(Standard.Abbreviation):
|
|||
|
ABBREVIATIONS = ["y", "y.e", "а", "авт", "адм.-терр", "акад", "в", "вв", "вкз", "вост.-европ", "г", "гг", "гос", "гр", "д", "деп", "дисс", "дол", "долл", "ежедн", "ж", "жен", "з", "зап", "зап.-европ", "заруб", "и", "ин", "иностр", "инст", "к", "канд", "кв", "кг", "куб", "л", "л.h", "л.н", "м", "мин", "моск", "муж", "н", "нед", "о", "п", "пгт", "пер", "пп", "пр", "просп", "проф", "р", "руб", "с", "сек", "см", "спб", "стр", "т", "тел", "тов", "тт", "тыс", "у", "у.е", "ул", "ф", "ч"]
|
|||
|
PREPOSITIVE_ABBREVIATIONS = []
|
|||
|
NUMBER_ABBREVIATIONS = []
|
|||
|
|
|||
|
class AbbreviationReplacer(AbbreviationReplacer):
|
|||
|
|
|||
|
SENTENCE_STARTERS = []
|
|||
|
|
|||
|
def __init__(self, text, lang):
|
|||
|
super().__init__(text, lang)
|
|||
|
|
|||
|
def replace_period_of_abbr(self, txt, abbr):
|
|||
|
txt = re.sub(r'(?<=\s{abbr})\.'.format(abbr=abbr.strip()), '∯', txt)
|
|||
|
txt = re.sub(r'(?<=\A{abbr})\.'.format(abbr=abbr.strip()), '∯', txt)
|
|||
|
txt = re.sub(r'(?<=^{abbr})\.'.format(abbr=abbr.strip()), '∯', txt)
|
|||
|
return txt
|