def initialize() -> None:
     if (WeaponItemToken.M_ONTOLOGY is not None): 
         return
     WeaponItemToken.M_ONTOLOGY = TerminCollection()
     t = None
     tt = None
     li = [ ]
     t = Termin._new100("ПИСТОЛЕТ", WeaponItemToken.Typs.NOUN)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new100("РЕВОЛЬВЕР", WeaponItemToken.Typs.NOUN)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new100("ВИНТОВКА", WeaponItemToken.Typs.NOUN)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new100("РУЖЬЕ", WeaponItemToken.Typs.NOUN)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new102("АВТОМАТ", WeaponItemToken.Typs.NOUN, 1)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new102("КАРАБИН", WeaponItemToken.Typs.NOUN, 1)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new124("ПИСТОЛЕТ-ПУЛЕМЕТ", "ПИСТОЛЕТ-ПУЛЕМЕТ", WeaponItemToken.Typs.NOUN)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new100("ПУЛЕМЕТ", WeaponItemToken.Typs.NOUN)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new100("ГРАНАТОМЕТ", WeaponItemToken.Typs.NOUN)
     t.add_variant("СТРЕЛКОВО ГРАНАТОМЕТНЫЙ КОМПЛЕКС", False)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new100("ОГНЕМЕТ", WeaponItemToken.Typs.NOUN)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new100("МИНОМЕТ", WeaponItemToken.Typs.NOUN)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new2781("ПЕРЕНОСНОЙ ЗЕНИТНО РАКЕТНЫЙ КОМПЛЕКС", "ПЗРК", WeaponItemToken.Typs.NOUN)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new2781("ПРОТИВОТАНКОВЫЙ РАКЕТНЫЙ КОМПЛЕКС", "ПТРК", WeaponItemToken.Typs.NOUN)
     t.add_variant("ПЕРЕНОСНОЙ ПРОТИВОТАНКОВЫЙ РАКЕТНЫЙ КОМПЛЕКС", False)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new100("АВИАЦИОННАЯ ПУШКА", WeaponItemToken.Typs.NOUN)
     t.add_variant("АВИАПУШКА", False)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new100("НАРУЧНИКИ", WeaponItemToken.Typs.NOUN)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new100("БРОНЕЖИЛЕТ", WeaponItemToken.Typs.NOUN)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new100("ГРАНАТА", WeaponItemToken.Typs.NOUN)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new100("ЛИМОНКА", WeaponItemToken.Typs.NOUN)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new100("НОЖ", WeaponItemToken.Typs.NOUN)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new100("ВЗРЫВАТЕЛЬ", WeaponItemToken.Typs.NOUN)
     WeaponItemToken.M_ONTOLOGY.add(t)
     for s in ["МАКАРОВ", "КАЛАШНИКОВ", "СИМОНОВ", "СТЕЧКИН", "ШМАЙСЕР", "МОСИН", "СЛОСТИН", "НАГАН", "МАКСИМ", "ДРАГУНОВ", "СЕРДЮКОВ", "ЯРЫГИН", "НИКОНОВ", "МАУЗЕР", "БРАУНИНГ", "КОЛЬТ", "ВИНЧЕСТЕР"]: 
         WeaponItemToken.M_ONTOLOGY.add(Termin._new100(s, WeaponItemToken.Typs.BRAND))
     for s in ["УЗИ"]: 
         WeaponItemToken.M_ONTOLOGY.add(Termin._new100(s, WeaponItemToken.Typs.NAME))
     t = Termin._new2792("ТУЛЬСКИЙ ТОКАРЕВА", "ТТ", "ТТ", WeaponItemToken.Typs.MODEL)
     li = list()
     li.append(Termin._new100("ПИСТОЛЕТ", WeaponItemToken.Typs.NOUN))
     li.append(Termin._new100("ТОКАРЕВ", WeaponItemToken.Typs.BRAND))
     t.tag2 = (li)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new2792("ПИСТОЛЕТ МАКАРОВА", "ПМ", "ПМ", WeaponItemToken.Typs.MODEL)
     li = list()
     li.append(Termin._new100("ПИСТОЛЕТ", WeaponItemToken.Typs.NOUN))
     li.append(Termin._new100("МАКАРОВ", WeaponItemToken.Typs.BRAND))
     t.tag2 = (li)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new2792("ПИСТОЛЕТ МАКАРОВА МОДЕРНИЗИРОВАННЫЙ", "ПММ", "ПММ", WeaponItemToken.Typs.MODEL)
     li = list()
     tt = Termin._new100("ПИСТОЛЕТ", WeaponItemToken.Typs.NOUN)
     li.append(tt)
     tt.add_variant("МОДЕРНИЗИРОВАННЫЙ ПИСТОЛЕТ", False)
     li.append(Termin._new100("МАКАРОВ", WeaponItemToken.Typs.BRAND))
     t.tag2 = (li)
     WeaponItemToken.M_ONTOLOGY.add(t)
     t = Termin._new2792("АВТОМАТ КАЛАШНИКОВА", "АК", "АК", WeaponItemToken.Typs.MODEL)
     li = list()
     li.append(Termin._new100("АВТОМАТ", WeaponItemToken.Typs.NOUN))
     li.append(Termin._new100("КАЛАШНИКОВ", WeaponItemToken.Typs.BRAND))
     t.tag2 = (li)
     WeaponItemToken.M_ONTOLOGY.add(t)
Exemple #2
0
 def _initialize() -> None:
     if (NumberExHelper._m_postfixes is not None):
         return
     t = None
     NumberExHelper._m_postfixes = TerminCollection()
     t = Termin._new418("КВАДРАТНЫЙ МЕТР", MorphLang.RU, True, "кв.м.",
                        NumberExType.METER2)
     t.add_abridge("КВ.МЕТР")
     t.add_abridge("КВ.МЕТРА")
     t.add_abridge("КВ.М.")
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("КВАДРАТНИЙ МЕТР", MorphLang.UA, True, "КВ.М.",
                        NumberExType.METER2)
     t.add_abridge("КВ.МЕТР")
     t.add_abridge("КВ.МЕТРА")
     t.add_abridge("КВ.М.")
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("КВАДРАТНЫЙ КИЛОМЕТР", MorphLang.RU, True, "кв.км.",
                        NumberExType.KILOMETER2)
     t.add_variant("КВАДРАТНИЙ КІЛОМЕТР", True)
     t.add_abridge("КВ.КМ.")
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("ГЕКТАР", MorphLang.RU, True, "га",
                        NumberExType.GEKTAR)
     t.add_abridge("ГА")
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("АР", MorphLang.RU, True, "ар", NumberExType.AR)
     t.add_variant("СОТКА", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("КУБИЧЕСКИЙ МЕТР", MorphLang.RU, True, "куб.м.",
                        NumberExType.METER3)
     t.add_variant("КУБІЧНИЙ МЕТР", True)
     t.add_abridge("КУБ.МЕТР")
     t.add_abridge("КУБ.М.")
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("МЕТР", MorphLang.RU, True, "м.",
                        NumberExType.METER)
     t.add_abridge("М.")
     t.add_abridge("M.")
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("МЕТРОВЫЙ", MorphLang.RU, True, "м.",
                        NumberExType.METER)
     t.add_variant("МЕТРОВИЙ", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("МИЛЛИМЕТР", MorphLang.RU, True, "мм.",
                        NumberExType.MILLIMETER)
     t.add_abridge("ММ")
     t.add_abridge("MM")
     t.add_variant("МІЛІМЕТР", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("МИЛЛИМЕТРОВЫЙ", MorphLang.RU, True, "мм.",
                        NumberExType.MILLIMETER)
     t.add_variant("МІЛІМЕТРОВИЙ", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("САНТИМЕТР", MorphLang.RU, True, "см.",
                        NumberExType.SANTIMETER)
     t.add_abridge("СМ")
     t.add_abridge("CM")
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("САНТИМЕТРОВЫЙ", MorphLang.RU, True, "см.",
                        NumberExType.SANTIMETER)
     t.add_variant("САНТИМЕТРОВИЙ", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("КВАДРАТНЫЙ САНТИМЕТР", MorphLang.RU, True,
                        "кв.см.", NumberExType.SANTIMETER2)
     t.add_variant("КВАДРАТНИЙ САНТИМЕТР", True)
     t.add_abridge("КВ.СМ.")
     t.add_abridge("СМ.КВ.")
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("КУБИЧЕСКИЙ САНТИМЕТР", MorphLang.RU, True,
                        "куб.см.", NumberExType.SANTIMETER3)
     t.add_variant("КУБІЧНИЙ САНТИМЕТР", True)
     t.add_abridge("КУБ.САНТИМЕТР")
     t.add_abridge("КУБ.СМ.")
     t.add_abridge("СМ.КУБ.")
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("КИЛОМЕТР", MorphLang.RU, True, "км.",
                        NumberExType.KILOMETER)
     t.add_abridge("КМ")
     t.add_abridge("KM")
     t.add_variant("КІЛОМЕТР", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("КИЛОМЕТРОВЫЙ", MorphLang.RU, True, "км.",
                        NumberExType.KILOMETER)
     t.add_variant("КІЛОМЕТРОВИЙ", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("МИЛЯ", MorphLang.RU, True, "миль",
                        NumberExType.KILOMETER)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("ГРАММ", MorphLang.RU, True, "гр.",
                        NumberExType.GRAMM)
     t.add_abridge("ГР")
     t.add_abridge("Г")
     t.add_variant("ГРАМ", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("ГРАММОВЫЙ", MorphLang.RU, True, "гр.",
                        NumberExType.GRAMM)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("КИЛОГРАММ", MorphLang.RU, True, "кг.",
                        NumberExType.KILOGRAM)
     t.add_abridge("КГ")
     t.add_variant("КІЛОГРАМ", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("КИЛОГРАММОВЫЙ", MorphLang.RU, True, "кг.",
                        NumberExType.KILOGRAM)
     t.add_variant("КІЛОГРАМОВИЙ", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("МИЛЛИГРАММ", MorphLang.RU, True, "мг.",
                        NumberExType.MILLIGRAM)
     t.add_abridge("МГ")
     t.add_variant("МІЛІГРАМ", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("МИЛЛИГРАММОВЫЙ", MorphLang.RU, True, "мг.",
                        NumberExType.MILLIGRAM)
     t.add_variant("МИЛЛИГРАМОВЫЙ", True)
     t.add_variant("МІЛІГРАМОВИЙ", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("ТОННА", MorphLang.RU, True, "т.",
                        NumberExType.TONNA)
     t.add_abridge("Т")
     t.add_abridge("T")
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("ТОННЫЙ", MorphLang.RU, True, "т.",
                        NumberExType.TONNA)
     t.add_variant("ТОННИЙ", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("ЛИТР", MorphLang.RU, True, "л.", NumberExType.LITR)
     t.add_abridge("Л")
     t.add_variant("ЛІТР", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("ЛИТРОВЫЙ", MorphLang.RU, True, "л.",
                        NumberExType.LITR)
     t.add_variant("ЛІТРОВИЙ", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("МИЛЛИЛИТР", MorphLang.RU, True, "мл.",
                        NumberExType.MILLILITR)
     t.add_abridge("МЛ")
     t.add_variant("МІЛІЛІТР", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("МИЛЛИЛИТРОВЫЙ", MorphLang.RU, True, "мл.",
                        NumberExType.MILLILITR)
     t.add_variant("МІЛІЛІТРОВИЙ", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("ЧАС", MorphLang.RU, True, "ч.", NumberExType.HOUR)
     t.add_abridge("Ч.")
     t.add_variant("ГОДИНА", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("МИНУТА", MorphLang.RU, True, "мин.",
                        NumberExType.MINUTE)
     t.add_abridge("МИН.")
     t.add_variant("ХВИЛИНА", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("СЕКУНДА", MorphLang.RU, True, "сек.",
                        NumberExType.SECOND)
     t.add_abridge("СЕК.")
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("ГОД", MorphLang.RU, True, "г.", NumberExType.YEAR)
     t.add_abridge("Г.")
     t.add_abridge("ЛЕТ")
     t.add_variant("ЛЕТНИЙ", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("МЕСЯЦ", MorphLang.RU, True, "мес.",
                        NumberExType.MONTH)
     t.add_abridge("МЕС.")
     t.add_variant("МЕСЯЧНЫЙ", True)
     t.add_variant("КАЛЕНДАРНЫЙ МЕСЯЦ", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("ДЕНЬ", MorphLang.RU, True, "дн.", NumberExType.DAY)
     t.add_abridge("ДН.")
     t.add_variant("ДНЕВНЫЙ", True)
     t.add_variant("СУТКИ", True)
     t.add_variant("СУТОЧНЫЙ", True)
     t.add_variant("КАЛЕНДАРНЫЙ ДЕНЬ", True)
     t.add_variant("РАБОЧИЙ ДЕНЬ", True)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("НЕДЕЛЯ", MorphLang.RU, True, "нед.",
                        NumberExType.WEEK)
     t.add_variant("НЕДЕЛЬНЫЙ", True)
     t.add_variant("КАЛЕНДАРНАЯ НЕДЕЛЯ", False)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("ПРОЦЕНТ", MorphLang.RU, True, "%",
                        NumberExType.PERCENT)
     t.add_variant("%", False)
     t.add_variant("ПРОЦ", True)
     t.add_abridge("ПРОЦ.")
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("ШТУКА", MorphLang.RU, True, "шт.",
                        NumberExType.SHUK)
     t.add_variant("ШТ", False)
     t.add_abridge("ШТ.")
     t.add_abridge("ШТ-К")
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("УПАКОВКА", MorphLang.RU, True, "уп.",
                        NumberExType.UPAK)
     t.add_variant("УПАК", True)
     t.add_variant("УП", True)
     t.add_abridge("УПАК.")
     t.add_abridge("УП.")
     t.add_abridge("УП-КА")
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("РУЛОН", MorphLang.RU, True, "рулон",
                        NumberExType.RULON)
     t.add_variant("РУЛ", True)
     t.add_abridge("РУЛ.")
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("НАБОР", MorphLang.RU, True, "набор",
                        NumberExType.NABOR)
     t.add_variant("НАБ", True)
     t.add_abridge("НАБ.")
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("КОМПЛЕКТ", MorphLang.RU, True, "компл.",
                        NumberExType.KOMPLEKT)
     t.add_variant("КОМПЛ", True)
     t.add_abridge("КОМПЛ.")
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("ПАРА", MorphLang.RU, True, "пар",
                        NumberExType.PARA)
     NumberExHelper._m_postfixes.add(t)
     t = Termin._new418("ФЛАКОН", MorphLang.RU, True, "флак.",
                        NumberExType.FLAKON)
     t.add_variant("ФЛ", True)
     t.add_abridge("ФЛ.")
     t.add_variant("ФЛАК", True)
     t.add_abridge("ФЛАК.")
     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._new124("УСЛОВНАЯ ЕДИНИЦА", "УЕ", NumberExType.MONEY)
     t.add_abridge("У.Е.")
     t.add_abridge("У.E.")
     t.add_abridge("Y.Е.")
     t.add_abridge("Y.E.")
     NumberExHelper._m_postfixes.add(t)
     for k in range(3):
         str0_ = PullentiNerCoreInternalResourceHelper.get_string(
             ("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.init_by_normal_text(parts[1], lang)
             t.canonic_text = parts[2]
             t.acronym = parts[2]
             t.tag = NumberExType.MONEY
             for p in Utils.splitString(parts[0], ',', False):
                 if (p != parts[1]):
                     t0 = Termin()
                     t0.init_by_normal_text(p, None)
                     t.add_variant_term(t0)
             if (parts[1] == "РУБЛЬ"):
                 t.add_abridge("РУБ.")
             elif (parts[1] == "ГРИВНЯ" or parts[1] == "ГРИВНА"):
                 t.add_abridge("ГРН.")
             elif (parts[1] == "ДОЛЛАР"):
                 t.add_abridge("ДОЛ.")
                 t.add_abridge("ДОЛЛ.")
             elif (parts[1] == "ДОЛАР"):
                 t.add_abridge("ДОЛ.")
             elif (parts[1] == "ИЕНА"):
                 t.add_variant("ЙЕНА", False)
             NumberExHelper._m_postfixes.add(t)
             if (Utils.isNullOrEmpty(parts[3])):
                 continue
             num = 0
             i = parts[3].find(' ')
             if (i < 2):
                 continue
             wrapnum463 = RefOutArgWrapper(0)
             inoutres464 = Utils.tryParseInt(parts[3][0:0 + i], wrapnum463)
             num = wrapnum463.value
             if (not inoutres464):
                 continue
             vv = parts[3][i:].strip()
             t = Termin()
             t.init_by_normal_text(parts[4], lang)
             t.tag = (num)
             if (vv != parts[4]):
                 t0 = Termin()
                 t0.init_by_normal_text(vv, None)
                 t.add_variant_term(t0)
             if (parts[4] == "КОПЕЙКА" or parts[4] == "КОПІЙКА"):
                 t.add_abridge("КОП.")
             NumberExHelper.__m_small_money.add(t)