Exemplo n.º 1
0
 def _initialize() -> None:
     if (NumberExHelper._m_postfixes is not None):
         return
     NumberExHelper._m_postfixes = TerminCollection()
     t = Termin._new481("КВАДРАТНЫЙ МЕТР", MorphLang.RU, True, "кв.м.",
                        NumberExType.METER2)
     t.addAbridge("КВ.МЕТР")
     t.addAbridge("КВ.МЕТРА")
     t.addAbridge("КВ.М.")
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("КВАДРАТНИЙ МЕТР", MorphLang.UA, True, "КВ.М.",
                        NumberExType.METER2)
     t.addAbridge("КВ.МЕТР")
     t.addAbridge("КВ.МЕТРА")
     t.addAbridge("КВ.М.")
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("КВАДРАТНЫЙ КИЛОМЕТР", MorphLang.RU, True, "кв.км.",
                        NumberExType.KILOMETER2)
     t.addVariant("КВАДРАТНИЙ КІЛОМЕТР", True)
     t.addAbridge("КВ.КМ.")
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("ГЕКТАР", MorphLang.RU, True, "га",
                        NumberExType.GEKTAR)
     t.addAbridge("ГА")
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("АР", MorphLang.RU, True, "ар", NumberExType.AR)
     t.addVariant("СОТКА", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("КУБИЧЕСКИЙ МЕТР", MorphLang.RU, True, "куб.м.",
                        NumberExType.METER3)
     t.addVariant("КУБІЧНИЙ МЕТР", True)
     t.addAbridge("КУБ.МЕТР")
     t.addAbridge("КУБ.М.")
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("МЕТР", MorphLang.RU, True, "м.",
                        NumberExType.METER)
     t.addAbridge("М.")
     t.addAbridge("M.")
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("МЕТРОВЫЙ", MorphLang.RU, True, "м.",
                        NumberExType.METER)
     t.addVariant("МЕТРОВИЙ", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("МИЛЛИМЕТР", MorphLang.RU, True, "мм.",
                        NumberExType.MILLIMETER)
     t.addAbridge("ММ")
     t.addAbridge("MM")
     t.addVariant("МІЛІМЕТР", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("МИЛЛИМЕТРОВЫЙ", MorphLang.RU, True, "мм.",
                        NumberExType.MILLIMETER)
     t.addVariant("МІЛІМЕТРОВИЙ", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("САНТИМЕТР", MorphLang.RU, True, "см.",
                        NumberExType.SANTIMETER)
     t.addAbridge("СМ")
     t.addAbridge("CM")
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("САНТИМЕТРОВЫЙ", MorphLang.RU, True, "см.",
                        NumberExType.SANTIMETER)
     t.addVariant("САНТИМЕТРОВИЙ", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("КВАДРАТНЫЙ САНТИМЕТР", MorphLang.RU, True,
                        "кв.см.", NumberExType.SANTIMETER2)
     t.addVariant("КВАДРАТНИЙ САНТИМЕТР", True)
     t.addAbridge("КВ.СМ.")
     t.addAbridge("СМ.КВ.")
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("КУБИЧЕСКИЙ САНТИМЕТР", MorphLang.RU, True,
                        "куб.см.", NumberExType.SANTIMETER3)
     t.addVariant("КУБІЧНИЙ САНТИМЕТР", True)
     t.addAbridge("КУБ.САНТИМЕТР")
     t.addAbridge("КУБ.СМ.")
     t.addAbridge("СМ.КУБ.")
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("КИЛОМЕТР", MorphLang.RU, True, "км.",
                        NumberExType.KILOMETER)
     t.addAbridge("КМ")
     t.addAbridge("KM")
     t.addVariant("КІЛОМЕТР", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("КИЛОМЕТРОВЫЙ", MorphLang.RU, True, "км.",
                        NumberExType.KILOMETER)
     t.addVariant("КІЛОМЕТРОВИЙ", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("МИЛЯ", MorphLang.RU, True, "миль",
                        NumberExType.KILOMETER)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("ГРАММ", MorphLang.RU, True, "гр.",
                        NumberExType.GRAMM)
     t.addAbridge("ГР")
     t.addAbridge("Г")
     t.addVariant("ГРАМ", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("ГРАММОВЫЙ", MorphLang.RU, True, "гр.",
                        NumberExType.GRAMM)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("КИЛОГРАММ", MorphLang.RU, True, "кг.",
                        NumberExType.KILOGRAM)
     t.addAbridge("КГ")
     t.addVariant("КІЛОГРАМ", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("КИЛОГРАММОВЫЙ", MorphLang.RU, True, "кг.",
                        NumberExType.KILOGRAM)
     t.addVariant("КІЛОГРАМОВИЙ", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("МИЛЛИГРАММ", MorphLang.RU, True, "мг.",
                        NumberExType.MILLIGRAM)
     t.addAbridge("МГ")
     t.addVariant("МІЛІГРАМ", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("МИЛЛИГРАММОВЫЙ", MorphLang.RU, True, "мг.",
                        NumberExType.MILLIGRAM)
     t.addVariant("МИЛЛИГРАМОВЫЙ", True)
     t.addVariant("МІЛІГРАМОВИЙ", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("ТОННА", MorphLang.RU, True, "т.",
                        NumberExType.TONNA)
     t.addAbridge("Т")
     t.addAbridge("T")
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("ТОННЫЙ", MorphLang.RU, True, "т.",
                        NumberExType.TONNA)
     t.addVariant("ТОННИЙ", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("ЛИТР", MorphLang.RU, True, "л.", NumberExType.LITR)
     t.addAbridge("Л")
     t.addVariant("ЛІТР", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("ЛИТРОВЫЙ", MorphLang.RU, True, "л.",
                        NumberExType.LITR)
     t.addVariant("ЛІТРОВИЙ", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("МИЛЛИЛИТР", MorphLang.RU, True, "мл.",
                        NumberExType.MILLILITR)
     t.addAbridge("МЛ")
     t.addVariant("МІЛІЛІТР", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("МИЛЛИЛИТРОВЫЙ", MorphLang.RU, True, "мл.",
                        NumberExType.MILLILITR)
     t.addVariant("МІЛІЛІТРОВИЙ", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("ЧАС", MorphLang.RU, True, "ч.", NumberExType.HOUR)
     t.addAbridge("Ч.")
     t.addVariant("ГОДИНА", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("МИНУТА", MorphLang.RU, True, "мин.",
                        NumberExType.MINUTE)
     t.addAbridge("МИН.")
     t.addVariant("ХВИЛИНА", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("СЕКУНДА", MorphLang.RU, True, "сек.",
                        NumberExType.SECOND)
     t.addAbridge("СЕК.")
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("ГОД", MorphLang.RU, True, "г.", NumberExType.YEAR)
     t.addAbridge("Г.")
     t.addAbridge("ЛЕТ")
     t.addVariant("ЛЕТНИЙ", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("МЕСЯЦ", MorphLang.RU, True, "мес.",
                        NumberExType.MONTH)
     t.addAbridge("МЕС.")
     t.addVariant("МЕСЯЧНЫЙ", True)
     t.addVariant("КАЛЕНДАРНЫЙ МЕСЯЦ", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("ДЕНЬ", MorphLang.RU, True, "дн.", NumberExType.DAY)
     t.addAbridge("ДН.")
     t.addVariant("ДНЕВНЫЙ", True)
     t.addVariant("СУТКИ", True)
     t.addVariant("СУТОЧНЫЙ", True)
     t.addVariant("КАЛЕНДАРНЫЙ ДЕНЬ", True)
     t.addVariant("РАБОЧИЙ ДЕНЬ", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("НЕДЕЛЯ", MorphLang.RU, True, "нед.",
                        NumberExType.WEEK)
     t.addVariant("НЕДЕЛЬНЫЙ", True)
     t.addVariant("КАЛЕНДАРНАЯ НЕДЕЛЯ", False)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("ПРОЦЕНТ", MorphLang.RU, True, "%",
                        NumberExType.PERCENT)
     t.addVariant("%", False)
     t.addVariant("ПРОЦ", True)
     t.addAbridge("ПРОЦ.")
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("ШТУКА", MorphLang.RU, True, "шт.",
                        NumberExType.SHUK)
     t.addVariant("ШТ", False)
     t.addAbridge("ШТ.")
     t.addAbridge("ШТ-К")
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("УПАКОВКА", MorphLang.RU, True, "уп.",
                        NumberExType.UPAK)
     t.addVariant("УПАК", True)
     t.addVariant("УП", True)
     t.addAbridge("УПАК.")
     t.addAbridge("УП.")
     t.addAbridge("УП-КА")
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("РУЛОН", MorphLang.RU, True, "рулон",
                        NumberExType.RULON)
     t.addVariant("РУЛ", True)
     t.addAbridge("РУЛ.")
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("НАБОР", MorphLang.RU, True, "набор",
                        NumberExType.NABOR)
     t.addVariant("НАБ", True)
     t.addAbridge("НАБ.")
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("КОМПЛЕКТ", MorphLang.RU, True, "компл.",
                        NumberExType.KOMPLEKT)
     t.addVariant("КОМПЛ", True)
     t.addAbridge("КОМПЛ.")
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("ПАРА", MorphLang.RU, True, "пар",
                        NumberExType.PARA)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new481("ФЛАКОН", MorphLang.RU, True, "флак.",
                        NumberExType.FLAKON)
     t.addVariant("ФЛ", True)
     t.addAbridge("ФЛ.")
     t.addVariant("ФЛАК", True)
     t.addAbridge("ФЛАК.")
     NumberExHelper._m_postfixes.add(t)
     for te in NumberExHelper._m_postfixes.termins:
         ty = Utils.valToEnum(te.tag, NumberExType)
         if (not ty in NumberExHelper._m_normals_typs):
             NumberExHelper._m_normals_typs[ty] = te.canonic_text
     NumberExHelper.__m_small_money = TerminCollection()
     t = Termin._new141("УСЛОВНАЯ ЕДИНИЦА", "УЕ", NumberExType.MONEY)
     t.addAbridge("У.Е.")
     t.addAbridge("У.E.")
     t.addAbridge("Y.Е.")
     t.addAbridge("Y.E.")
     NumberExHelper._m_postfixes.add(t)
     for k in range(3):
         str0_ = EpNerCoreInternalResourceHelper.getString(
             ("Money.csv" if k == 0 else
              ("MoneyUA.csv" if k == 1 else "MoneyEN.csv")))
         if (str0_ is None):
             continue
         lang = (MorphLang.RU if k == 0 else
                 (MorphLang.UA if k == 1 else MorphLang.EN))
         if (str0_ is None):
             continue
         for line0 in Utils.splitString(str0_, '\n', False):
             line = line0.strip()
             if (Utils.isNullOrEmpty(line)):
                 continue
             parts = Utils.splitString(line.upper(), ';', False)
             if (parts is None or len(parts) != 5):
                 continue
             if (Utils.isNullOrEmpty(parts[1])
                     or Utils.isNullOrEmpty(parts[2])):
                 continue
             t = Termin()
             t.initByNormalText(parts[1], lang)
             t.canonic_text = parts[2]
             t.tag = NumberExType.MONEY
             for p in Utils.splitString(parts[0], ',', False):
                 if (p != parts[1]):
                     t0 = Termin()
                     t0.initByNormalText(p, None)
                     t.addVariantTerm(t0)
             if (parts[1] == "РУБЛЬ"):
                 t.addAbridge("РУБ.")
             elif (parts[1] == "ГРИВНЯ"):
                 t.addAbridge("ГРН.")
             elif (parts[1] == "ДОЛЛАР"):
                 t.addAbridge("ДОЛ.")
                 t.addAbridge("ДОЛЛ.")
             elif (parts[1] == "ДОЛАР"):
                 t.addAbridge("ДОЛ.")
             NumberExHelper._m_postfixes.add(t)
             if (Utils.isNullOrEmpty(parts[3])):
                 continue
             num = 0
             i = parts[3].find(' ')
             if (i < 2):
                 continue
             wrapnum526 = RefOutArgWrapper(0)
             inoutres527 = Utils.tryParseInt(parts[3][0:0 + i], wrapnum526)
             num = wrapnum526.value
             if (not inoutres527):
                 continue
             vv = parts[3][i:].strip()
             t = Termin()
             t.initByNormalText(parts[4], lang)
             t.tag = (num)
             if (vv != parts[4]):
                 t0 = Termin()
                 t0.initByNormalText(vv, None)
                 t.addVariantTerm(t0)
             if (parts[4] == "КОПЕЙКА" or parts[4] == "КОПІЙКА"):
                 t.addAbridge("КОП.")
             NumberExHelper.__m_small_money.add(t)
Exemplo n.º 2
0
 def initialize() -> None:
     if (WeaponItemToken.M_ONTOLOGY is not None):
         return
     WeaponItemToken.M_ONTOLOGY = TerminCollection()
     li = []
     t = Termin._new117("ПИСТОЛЕТ", WeaponItemToken.Typs.NOUN)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new117("РЕВОЛЬВЕР", WeaponItemToken.Typs.NOUN)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new117("ВИНТОВКА", WeaponItemToken.Typs.NOUN)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new117("РУЖЬЕ", WeaponItemToken.Typs.NOUN)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new119("АВТОМАТ", WeaponItemToken.Typs.NOUN, 1)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new119("КАРАБИН", WeaponItemToken.Typs.NOUN, 1)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new141("ПИСТОЛЕТ-ПУЛЕМЕТ", "ПИСТОЛЕТ-ПУЛЕМЕТ",
                        WeaponItemToken.Typs.NOUN)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new117("ПУЛЕМЕТ", WeaponItemToken.Typs.NOUN)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new117("ГРАНАТОМЕТ", WeaponItemToken.Typs.NOUN)
     t.addVariant("СТРЕЛКОВО ГРАНАТОМЕТНЫЙ КОМПЛЕКС", False)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new117("ОГНЕМЕТ", WeaponItemToken.Typs.NOUN)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new117("МИНОМЕТ", WeaponItemToken.Typs.NOUN)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new2617("ПЕРЕНОСНОЙ ЗЕНИТНО РАКЕТНЫЙ КОМПЛЕКС", "ПЗРК",
                         WeaponItemToken.Typs.NOUN)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new2617("ПРОТИВОТАНКОВЫЙ РАКЕТНЫЙ КОМПЛЕКС", "ПТРК",
                         WeaponItemToken.Typs.NOUN)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new117("НАРУЧНИКИ", WeaponItemToken.Typs.NOUN)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new117("БРОНЕЖИЛЕТ", WeaponItemToken.Typs.NOUN)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new117("ГРАНАТА", WeaponItemToken.Typs.NOUN)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new117("ЛИМОНКА", WeaponItemToken.Typs.NOUN)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new117("НОЖ", WeaponItemToken.Typs.NOUN)
     WeaponItemToken.M_ONTOLOGY.add(t)
     for s in [
             "МАКАРОВ", "КАЛАШНИКОВ", "СИМОНОВ", "СТЕЧКИН", "ШМАЙСЕР",
             "МОСИН", "СЛОСТИН", "НАГАН", "МАКСИМ", "ДРАГУНОВ", "СЕРДЮКОВ",
             "ЯРЫГИН", "НИКОНОВ", "МАУЗЕР", "БРАУНИНГ", "КОЛЬТ", "ВИНЧЕСТЕР"
     ]:
         WeaponItemToken.M_ONTOLOGY.add(
             Termin._new117(s, WeaponItemToken.Typs.BRAND))
     for s in ["УЗИ"]:
         WeaponItemToken.M_ONTOLOGY.add(
             Termin._new117(s, WeaponItemToken.Typs.NAME))
     t = Termin._new2626("ТУЛЬСКИЙ ТОКАРЕВА", "ТТ", "ТТ",
                         WeaponItemToken.Typs.MODEL)
     li = list()
     li.append(Termin._new117("ПИСТОЛЕТ", WeaponItemToken.Typs.NOUN))
     li.append(Termin._new117("ТОКАРЕВ", WeaponItemToken.Typs.BRAND))
     t.tag2 = (li)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new2626("ПИСТОЛЕТ МАКАРОВА", "ПМ", "ПМ",
                         WeaponItemToken.Typs.MODEL)
     li = list()
     li.append(Termin._new117("ПИСТОЛЕТ", WeaponItemToken.Typs.NOUN))
     li.append(Termin._new117("МАКАРОВ", WeaponItemToken.Typs.BRAND))
     t.tag2 = (li)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new2626("ПИСТОЛЕТ МАКАРОВА МОДЕРНИЗИРОВАННЫЙ", "ПММ",
                         "ПММ", WeaponItemToken.Typs.MODEL)
     li = list()
     tt = Termin._new117("ПИСТОЛЕТ", WeaponItemToken.Typs.NOUN)
     li.append(tt)
     tt.addVariant("МОДЕРНИЗИРОВАННЫЙ ПИСТОЛЕТ", False)
     li.append(Termin._new117("МАКАРОВ", WeaponItemToken.Typs.BRAND))
     t.tag2 = (li)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new2626("АВТОМАТ КАЛАШНИКОВА", "АК", "АК",
                         WeaponItemToken.Typs.MODEL)
     li = list()
     li.append(Termin._new117("АВТОМАТ", WeaponItemToken.Typs.NOUN))
     li.append(Termin._new117("КАЛАШНИКОВ", WeaponItemToken.Typs.BRAND))
     t.tag2 = (li)
     WeaponItemToken.M_ONTOLOGY.add(t)