Example #1
0
 def _loadLanguages(langs: 'MorphLang') -> None:
     if (langs.is_ru and not InnerMorphology.M_ENGINE_RU.language.is_ru):
         with InnerMorphology.M_LOCK:
             if (not InnerMorphology.M_ENGINE_RU.language.is_ru):
                 if (not InnerMorphology.M_ENGINE_RU.initialize(
                         MorphLang.RU)):
                     raise Utils.newException(
                         "Not found resource file m_ru.dat in Morphology",
                         None)
     if (langs.is_en and not InnerMorphology.M_ENGINE_EN.language.is_en):
         with InnerMorphology.M_LOCK:
             if (not InnerMorphology.M_ENGINE_EN.language.is_en):
                 if (not InnerMorphology.M_ENGINE_EN.initialize(
                         MorphLang.EN)):
                     raise Utils.newException(
                         "Not found resource file m_en.dat in Morphology",
                         None)
     if (langs.is_ua and not InnerMorphology.M_ENGINE_UA.language.is_ua):
         with InnerMorphology.M_LOCK:
             if (not InnerMorphology.M_ENGINE_UA.language.is_ua):
                 InnerMorphology.M_ENGINE_UA.initialize(MorphLang.UA)
     if (langs.is_by and not InnerMorphology.M_ENGINE_BY.language.is_by):
         with InnerMorphology.M_LOCK:
             if (not InnerMorphology.M_ENGINE_BY.language.is_by):
                 InnerMorphology.M_ENGINE_BY.initialize(MorphLang.BY)
     if (langs.is_kz and not InnerMorphology.M_ENGINE_KZ.language.is_kz):
         with InnerMorphology.M_LOCK:
             if (not InnerMorphology.M_ENGINE_KZ.language.is_kz):
                 InnerMorphology.M_ENGINE_KZ.initialize(MorphLang.KZ)
Example #2
0
 def _load_languages(self, langs: 'MorphLang', lazy_load: bool) -> None:
     if (langs.is_ru and not self.__m_engine_ru.language.is_ru):
         with self.__m_lock:
             if (not self.__m_engine_ru.language.is_ru):
                 if (not self.__m_engine_ru.initialize(
                         MorphLang.RU, lazy_load)):
                     raise Utils.newException(
                         "Not found resource file m_ru.dat in Morphology",
                         None)
     if (langs.is_en and not self.__m_engine_en.language.is_en):
         with self.__m_lock:
             if (not self.__m_engine_en.language.is_en):
                 if (not self.__m_engine_en.initialize(
                         MorphLang.EN, lazy_load)):
                     raise Utils.newException(
                         "Not found resource file m_en.dat in Morphology",
                         None)
     if (langs.is_ua and not self.__m_engine_ua.language.is_ua):
         with self.__m_lock:
             if (not self.__m_engine_ua.language.is_ua):
                 self.__m_engine_ua.initialize(MorphLang.UA, lazy_load)
     if (langs.is_by and not self.__m_engine_by.language.is_by):
         with self.__m_lock:
             if (not self.__m_engine_by.language.is_by):
                 self.__m_engine_by.initialize(MorphLang.BY, lazy_load)
     if (langs.is_kz and not self.__m_engine_kz.language.is_kz):
         with self.__m_lock:
             if (not self.__m_engine_kz.language.is_kz):
                 self.__m_engine_kz.initialize(MorphLang.KZ, lazy_load)
 def load_languages(langs: 'MorphLang') -> None:
     if (langs.is_ru or langs.is_ua):
         if (not DerivateService.__m_der_ru.init(MorphLang.RU, True)):
             raise Utils.newException(
                 "Not found resource file e_ru.dat in Enplanatory", None)
     if (langs.is_ua):
         pass
Example #4
0
 def initialize() -> None:
     MetaTitleInfo.initialize()
     try: 
         Termin.ASSIGN_ALL_TEXTS_AS_NORMAL = True
         TitleItemToken.initialize()
         Termin.ASSIGN_ALL_TEXTS_AS_NORMAL = False
     except Exception as ex: 
         raise Utils.newException(ex.__str__(), ex)
     ProcessorService.registerAnalyzer(TitlePageAnalyzer())
Example #5
0
 def initialize() -> None:
     if (OrgGlobal.GLOBAL_ORGS is not None): 
         return
     OrgGlobal.GLOBAL_ORGS = IntOntologyCollection()
     org0_ = None
     oi = None
     with ProcessorService.create_empty_processor() as geo_proc: 
         geo_proc.add_analyzer(GeoAnalyzer())
         geos = dict()
         for k in range(3):
             lang = (MorphLang.RU if k == 0 else (MorphLang.EN if k == 1 else MorphLang.UA))
             name = ("Orgs_ru.dat" if k == 0 else ("Orgs_en.dat" if k == 1 else "Orgs_ua.dat"))
             dat = PullentiNerOrgInternalResourceHelper.get_bytes(name)
             if (dat is None): 
                 raise Utils.newException("Can't file resource file {0} in Organization analyzer".format(name), None)
             with MemoryStream(OrgItemTypeToken._deflate(dat)) as tmp: 
                 tmp.position = 0
                 xml0_ = None # new XmlDocument
                 xml0_ = Utils.parseXmlFromStream(tmp)
                 for x in xml0_.getroot(): 
                     org0_ = OrganizationReferent()
                     abbr = None
                     for xx in x: 
                         if (Utils.getXmlLocalName(xx) == "typ"): 
                             org0_.add_slot(OrganizationReferent.ATTR_TYPE, Utils.getXmlInnerText(xx), False, 0)
                         elif (Utils.getXmlLocalName(xx) == "nam"): 
                             org0_.add_slot(OrganizationReferent.ATTR_NAME, Utils.getXmlInnerText(xx), False, 0)
                         elif (Utils.getXmlLocalName(xx) == "epo"): 
                             org0_.add_slot(OrganizationReferent.ATTR_EPONYM, Utils.getXmlInnerText(xx), False, 0)
                         elif (Utils.getXmlLocalName(xx) == "prof"): 
                             org0_.add_slot(OrganizationReferent.ATTR_PROFILE, Utils.getXmlInnerText(xx), False, 0)
                         elif (Utils.getXmlLocalName(xx) == "abbr"): 
                             abbr = Utils.getXmlInnerText(xx)
                         elif (Utils.getXmlLocalName(xx) == "geo"): 
                             geo_ = None
                             wrapgeo1767 = RefOutArgWrapper(None)
                             inoutres1768 = Utils.tryGetValue(geos, Utils.getXmlInnerText(xx), wrapgeo1767)
                             geo_ = wrapgeo1767.value
                             if (not inoutres1768): 
                                 ar = geo_proc.process(SourceOfAnalysis(Utils.getXmlInnerText(xx)), None, lang)
                                 if (ar is not None and len(ar.entities) == 1 and (isinstance(ar.entities[0], GeoReferent))): 
                                     geo_ = (Utils.asObjectOrNull(ar.entities[0], GeoReferent))
                                     geos[Utils.getXmlInnerText(xx)] = geo_
                                 else: 
                                     pass
                             if (geo_ is not None): 
                                 org0_.add_slot(OrganizationReferent.ATTR_GEO, geo_, False, 0)
                     oi = org0_.create_ontology_item_ex(2, True, True)
                     if (oi is None): 
                         continue
                     if (abbr is not None): 
                         oi.termins.append(Termin(abbr, None, True))
                     if (k == 2): 
                         OrgGlobal.GLOBAL_ORGS_UA.add_item(oi)
                     else: 
                         OrgGlobal.GLOBAL_ORGS.add_item(oi)
     return
Example #6
0
 def initialize() -> None:
     MetaBookLink.initialize2()
     MetaBookLinkRef.initialize()
     try:
         Termin.ASSIGN_ALL_TEXTS_AS_NORMAL = True
         BookLinkToken.initialize()
         Termin.ASSIGN_ALL_TEXTS_AS_NORMAL = False
     except Exception as ex:
         raise Utils.newException(ex.__str__(), ex)
     ProcessorService.registerAnalyzer(BookLinkAnalyzer())
 def initialize() -> None:
     if (NamedEntityAnalyzer.__m_inited):
         return
     NamedEntityAnalyzer.__m_inited = True
     try:
         MetaNamedEntity.initialize()
         Termin.ASSIGN_ALL_TEXTS_AS_NORMAL = True
         NamedItemToken._initialize()
         Termin.ASSIGN_ALL_TEXTS_AS_NORMAL = False
     except Exception as ex:
         raise Utils.newException(ex.__str__(), ex)
     ProcessorService.register_analyzer(NamedEntityAnalyzer())
Example #8
0
 def loadLanguages(langs: 'MorphLang') -> None:
     """ Загрузить язык(и), если они ещё не загружены
     
     Args:
         langs(MorphLang): 
     """
     if (langs.is_ru or langs.is_ua):
         if (not Explanatory.__m_der_ru.init(MorphLang.RU)):
             raise Utils.newException(
                 "Not found resource file e_ru.dat in Enplanatory", None)
     if (langs.is_ua):
         pass
Example #9
0
 def initialize() -> None:
     if (WeaponAnalyzer.__m_inited):
         return
     WeaponAnalyzer.__m_inited = True
     MetaWeapon.initialize()
     try:
         Termin.ASSIGN_ALL_TEXTS_AS_NORMAL = True
         WeaponItemToken.initialize()
         Termin.ASSIGN_ALL_TEXTS_AS_NORMAL = False
     except Exception as ex:
         raise Utils.newException(ex.__str__(), ex)
     ProcessorService.registerAnalyzer(WeaponAnalyzer())
Example #10
0
 def initialize() -> None:
     if (MailAnalyzer.__m_inited):
         return
     MailAnalyzer.__m_inited = True
     try:
         MetaLetter.initialize()
         Termin.ASSIGN_ALL_TEXTS_AS_NORMAL = True
         MailLine.initialize()
         Termin.ASSIGN_ALL_TEXTS_AS_NORMAL = False
     except Exception as ex:
         raise Utils.newException(ex.__str__(), ex)
     ProcessorService.registerAnalyzer(MailAnalyzer())
Example #11
0
 def initialize() -> None:
     if (KeywordAnalyzer.M_INITIALIZED): 
         return
     KeywordAnalyzer.M_INITIALIZED = True
     try: 
         KeywordMeta.initialize()
         Termin.ASSIGN_ALL_TEXTS_AS_NORMAL = True
         DenominationAnalyzer.initialize()
         Termin.ASSIGN_ALL_TEXTS_AS_NORMAL = False
         ProcessorService.register_analyzer(KeywordAnalyzer())
     except Exception as ex: 
         raise Utils.newException(ex.__str__(), ex)
Example #12
0
 def initialize() -> None:
     if (PhoneAnalyzer.M_INITED): 
         return
     PhoneAnalyzer.M_INITED = True
     MetaPhone.initialize()
     try: 
         Termin.ASSIGN_ALL_TEXTS_AS_NORMAL = True
         PhoneHelper.initialize()
         PhoneItemToken.initialize()
         Termin.ASSIGN_ALL_TEXTS_AS_NORMAL = False
     except Exception as ex: 
         raise Utils.newException(ex.__str__(), ex)
     ProcessorService.register_analyzer(PhoneAnalyzer())
Example #13
0
 def initialize() -> None:
     with GoodsAnalyzer.__m_lock:
         if (GoodsAnalyzer.__m_initialized):
             return
         GoodsAnalyzer.__m_initialized = True
         AttrMeta.initialize()
         GoodMeta.initialize()
         try:
             Termin.ASSIGN_ALL_TEXTS_AS_NORMAL = True
             GoodAttrToken.initialize()
             Termin.ASSIGN_ALL_TEXTS_AS_NORMAL = False
         except Exception as ex:
             raise Utils.newException(ex.__str__(), ex)
         ProcessorService.register_analyzer(GoodsAnalyzer())
Example #14
0
 def initialize() -> None:
     from pullenti.ner.instrument.internal.ParticipantToken import ParticipantToken
     if (InstrumentAnalyzer.__m_inited):
         return
     InstrumentAnalyzer.__m_inited = True
     InstrumentArtefactMeta.initialize()
     MetaInstrumentBlock.initialize()
     MetaInstrument.initialize()
     InstrumentParticipantMeta.initialize()
     try:
         Termin.ASSIGN_ALL_TEXTS_AS_NORMAL = True
         InstrToken.initialize()
         ParticipantToken.initialize()
         Termin.ASSIGN_ALL_TEXTS_AS_NORMAL = False
     except Exception as ex:
         raise Utils.newException(ex.__str__(), ex)
     ProcessorService.registerAnalyzer(InstrumentAnalyzer())
Example #15
0
 def initialize() -> None:
     if (PhoneHelper.M_PHONE_ROOT is not None):
         return
     PhoneHelper.M_PHONE_ROOT = PhoneHelper.PhoneNode()
     PhoneHelper.M_ALL_COUNTRY_CODES = dict()
     str0_ = EpNerBankInternalResourceHelper.getString(
         "CountryPhoneCodes.txt")
     if (str0_ is None):
         raise Utils.newException(
             "Can't file resource file {0} in Organization analyzer".format(
                 "CountryPhoneCodes.txt"), None)
     for line0 in Utils.splitString(str0_, '\n', False):
         line = line0.strip()
         if (Utils.isNullOrEmpty(line)):
             continue
         if (len(line) < 2):
             continue
         country = line[0:0 + 2]
         cod = line[2:].strip()
         if (len(cod) < 1):
             continue
         if (not country in PhoneHelper.M_ALL_COUNTRY_CODES):
             PhoneHelper.M_ALL_COUNTRY_CODES[country] = cod
         tn = PhoneHelper.M_PHONE_ROOT
         i = 0
         while i < len(cod):
             dig = cod[i]
             wrapnn2462 = RefOutArgWrapper(None)
             inoutres2463 = Utils.tryGetValue(tn.children, dig, wrapnn2462)
             nn = wrapnn2462.value
             if (not inoutres2463):
                 nn = PhoneHelper.PhoneNode()
                 nn.pref = cod[0:0 + i + 1]
                 tn.children[dig] = nn
             tn = nn
             i += 1
         if (tn.countries is None):
             tn.countries = list()
         tn.countries.append(country)
Example #16
0
 def initialize() -> None:
     if (UriAnalyzer.__m_schemes is not None): 
         return
     Termin.ASSIGN_ALL_TEXTS_AS_NORMAL = True
     MetaUri.initialize()
     try: 
         UriAnalyzer.__m_schemes = TerminCollection()
         obj = EpNerBankInternalResourceHelper.getString("UriSchemes.csv")
         if (obj is None): 
             raise Utils.newException("Can't file resource file {0} in Organization analyzer".format("UriSchemes.csv"), None)
         for line0 in Utils.splitString(obj, '\n', False): 
             line = line0.strip()
             if (Utils.isNullOrEmpty(line)): 
                 continue
             UriAnalyzer.__m_schemes.add(Termin._new678(line, MorphLang.UNKNOWN, True, 0))
         for s in ["ISBN", "УДК", "ББК", "ТНВЭД", "ОКВЭД"]: 
             UriAnalyzer.__m_schemes.add(Termin._new678(s, MorphLang.UNKNOWN, True, 1))
         UriAnalyzer.__m_schemes.add(Termin._new2573("Общероссийский классификатор форм собственности", "ОКФС", 1, "ОКФС"))
         UriAnalyzer.__m_schemes.add(Termin._new2573("Общероссийский классификатор организационно правовых форм", "ОКОПФ", 1, "ОКОПФ"))
         UriAnalyzer.__m_schemes.add(Termin._new678("WWW", MorphLang.UNKNOWN, True, 2))
         UriAnalyzer.__m_schemes.add(Termin._new678("HTTP", MorphLang.UNKNOWN, True, 10))
         UriAnalyzer.__m_schemes.add(Termin._new678("HTTPS", MorphLang.UNKNOWN, True, 10))
         UriAnalyzer.__m_schemes.add(Termin._new678("SHTTP", MorphLang.UNKNOWN, True, 10))
         UriAnalyzer.__m_schemes.add(Termin._new678("FTP", MorphLang.UNKNOWN, True, 10))
         t = Termin._new678("SKYPE", MorphLang.UNKNOWN, True, 3)
         t.addVariant("СКАЙП", True)
         t.addVariant("SKYPEID", True)
         t.addVariant("SKYPE ID", True)
         UriAnalyzer.__m_schemes.add(t)
         t = Termin._new678("SWIFT", MorphLang.UNKNOWN, True, 3)
         t.addVariant("СВИФТ", True)
         UriAnalyzer.__m_schemes.add(t)
         UriAnalyzer.__m_schemes.add(Termin._new678("ICQ", MorphLang.UNKNOWN, True, 4))
         t = Termin._new2583("основной государственный регистрационный номер", "ОГРН", 5, "ОГРН", True)
         t.addVariant("ОГРН ИП", True)
         UriAnalyzer.__m_schemes.add(t)
         UriAnalyzer.__m_schemes.add(Termin._new2583("Индивидуальный идентификационный номер", "ИИН", 5, "ИИН", True))
         UriAnalyzer.__m_schemes.add(Termin._new2583("Индивидуальный номер налогоплательщика", "ИНН", 5, "ИНН", True))
         UriAnalyzer.__m_schemes.add(Termin._new2583("Код причины постановки на учет", "КПП", 5, "КПП", True))
         UriAnalyzer.__m_schemes.add(Termin._new2583("Банковский идентификационный код", "БИК", 5, "БИК", True))
         UriAnalyzer.__m_schemes.add(Termin._new2583("основной государственный регистрационный номер индивидуального предпринимателя", "ОГРНИП", 5, "ОГРНИП", True))
         t = Termin._new2583("Страховой номер индивидуального лицевого счёта", "СНИЛС", 5, "СНИЛС", True)
         t.addVariant("Свидетельство пенсионного страхования", False)
         t.addVariant("Страховое свидетельство обязательного пенсионного страхования", False)
         t.addVariant("Страховое свидетельство", False)
         UriAnalyzer.__m_schemes.add(t)
         UriAnalyzer.__m_schemes.add(Termin._new2583("Общероссийский классификатор предприятий и организаций", "ОКПО", 5, "ОКПО", True))
         UriAnalyzer.__m_schemes.add(Termin._new2583("Общероссийский классификатор объектов административно-территориального деления", "ОКАТО", 5, "ОКАТО", True))
         UriAnalyzer.__m_schemes.add(Termin._new2583("Общероссийский классификатор территорий муниципальных образований", "ОКТМО", 5, "ОКТМО", True))
         UriAnalyzer.__m_schemes.add(Termin._new2583("Общероссийский классификатор органов государственной власти и управления", "ОКОГУ", 5, "ОКОГУ", True))
         UriAnalyzer.__m_schemes.add(Termin._new2583("Общероссийский классификатор Отрасли народного хозяйства", "ОКОНХ", 5, "ОКОНХ", True))
         t = Termin._new2595("РАСЧЕТНЫЙ СЧЕТ", MorphLang.UNKNOWN, True, "Р/С", 6, 20)
         t.addAbridge("Р.С.")
         t.addAbridge("Р.СЧ.")
         t.addAbridge("P.C.")
         t.addAbridge("РАСЧ.СЧЕТ")
         t.addAbridge("РАС.СЧЕТ")
         t.addAbridge("РАСЧ.СЧ.")
         t.addAbridge("РАС.СЧ.")
         t.addAbridge("Р.СЧЕТ")
         t.addVariant("СЧЕТ ПОЛУЧАТЕЛЯ", False)
         t.addVariant("СЧЕТ ОТПРАВИТЕЛЯ", False)
         t.addVariant("СЧЕТ", False)
         UriAnalyzer.__m_schemes.add(t)
         t = Termin._new2596("ЛИЦЕВОЙ СЧЕТ", "Л/С", 6, 20)
         t.addAbridge("Л.С.")
         t.addAbridge("Л.СЧ.")
         t.addAbridge("Л/С")
         t.addAbridge("ЛИЦ.СЧЕТ")
         t.addAbridge("ЛИЦ.СЧ.")
         t.addAbridge("Л.СЧЕТ")
         UriAnalyzer.__m_schemes.add(t)
         t = Termin._new2595("СПЕЦИАЛЬНЫЙ ЛИЦЕВОЙ СЧЕТ", MorphLang.UNKNOWN, True, "СПЕЦ/С", 6, 20)
         t.addAbridge("СПЕЦ.С.")
         t.addAbridge("СПЕЦ.СЧЕТ")
         t.addAbridge("СПЕЦ.СЧ.")
         t.addVariant("СПЕЦСЧЕТ", True)
         t.addVariant("СПЕЦИАЛЬНЫЙ СЧЕТ", True)
         UriAnalyzer.__m_schemes.add(t)
         t = Termin._new2595("КОРРЕСПОНДЕНТСКИЙ СЧЕТ", MorphLang.UNKNOWN, True, "К/С", 6, 20)
         t.addAbridge("КОРР.СЧЕТ")
         t.addAbridge("КОР.СЧЕТ")
         t.addAbridge("КОРР.СЧ.")
         t.addAbridge("КОР.СЧ.")
         t.addAbridge("К.СЧЕТ")
         t.addAbridge("КОР.С.")
         t.addAbridge("К.С.")
         t.addAbridge("K.C.")
         t.addAbridge("К-С")
         t.addAbridge("К/С")
         t.addAbridge("К.СЧ.")
         t.addAbridge("К/СЧ")
         UriAnalyzer.__m_schemes.add(t)
         t = Termin._new2599("КОД БЮДЖЕТНОЙ КЛАССИФИКАЦИИ", "КБК", "КБК", 6, 20, True)
         UriAnalyzer.__m_schemes.add(t)
         UriItemToken.initialize()
     except Exception as ex: 
         raise Utils.newException(ex.__str__(), ex)
     Termin.ASSIGN_ALL_TEXTS_AS_NORMAL = False
     ProcessorService.registerAnalyzer(UriAnalyzer())
Example #17
0
 def initialize() -> None:
     OrgItemNameToken.__m_std_tails = TerminCollection()
     OrgItemNameToken.__m_std_names = TerminCollection()
     OrgItemNameToken.__m_vervot_words = TerminCollection()
     t = Termin("INCORPORATED")
     t.addAbridge("INC.")
     OrgItemNameToken.__m_std_tails.add(t)
     t = Termin("CORPORATION")
     t.addAbridge("CORP.")
     OrgItemNameToken.__m_std_tails.add(t)
     t = Termin("LIMITED")
     t.addAbridge("LTD.")
     OrgItemNameToken.__m_std_tails.add(t)
     t = Termin("AG")
     OrgItemNameToken.__m_std_tails.add(t)
     t = Termin("GMBH")
     OrgItemNameToken.__m_std_tails.add(t)
     for s in [
             "ЗАКАЗЧИК", "ИСПОЛНИТЕЛЬ", "РАЗРАБОТЧИК", "БЕНЕФИЦИАР",
             "ПОЛУЧАТЕЛЬ", "ОТПРАВИТЕЛЬ", "ИЗГОТОВИТЕЛЬ", "ПРОИЗВОДИТЕЛЬ",
             "ПОСТАВЩИК", "АБОНЕНТ", "КЛИЕНТ", "ВКЛАДЧИК", "СУБЪЕКТ",
             "ПРОДАВЕЦ", "ПОКУПАТЕЛЬ", "АРЕНДОДАТЕЛЬ", "АРЕНДАТОР",
             "СУБАРЕНДАТОР", "НАЙМОДАТЕЛЬ", "НАНИМАТЕЛЬ", "АГЕНТ",
             "ПРИНЦИПАЛ", "ПРОДАВЕЦ", "ПОСТАВЩИК", "ПОДРЯДЧИК",
             "СУБПОДРЯДЧИК"
     ]:
         OrgItemNameToken.__m_std_tails.add(Termin._new117(s, s))
     for s in [
             "ЗАМОВНИК", "ВИКОНАВЕЦЬ", "РОЗРОБНИК", "БЕНЕФІЦІАР",
             "ОДЕРЖУВАЧ", "ВІДПРАВНИК", "ВИРОБНИК", "ВИРОБНИК",
             "ПОСТАЧАЛЬНИК", "АБОНЕНТ", "КЛІЄНТ", "ВКЛАДНИК", "СУБ'ЄКТ",
             "ПРОДАВЕЦЬ", "ПОКУПЕЦЬ", "ОРЕНДОДАВЕЦЬ", "ОРЕНДАР",
             "СУБОРЕНДАР", "НАЙМОДАВЕЦЬ", "НАЙМАЧ", "АГЕНТ", "ПРИНЦИПАЛ",
             "ПРОДАВЕЦЬ", "ПОСТАЧАЛЬНИК", "ПІДРЯДНИК", "СУБПІДРЯДНИК"
     ]:
         OrgItemNameToken.__m_std_tails.add(
             Termin._new455(s, MorphLang.UA, s))
     t = Termin("РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ")
     t.addAbridge("РАЗРАБОТКИ ПО")
     OrgItemNameToken.__m_std_names.add(t)
     for s in ["СПЕЦИАЛЬНОСТЬ", "ДИАГНОЗ"]:
         OrgItemNameToken.__m_vervot_words.add(Termin(s))
     for s in ["СПЕЦІАЛЬНІСТЬ", "ДІАГНОЗ"]:
         OrgItemNameToken.__m_vervot_words.add(Termin(s, MorphLang.UA))
     OrgItemNameToken.__m_std_nouns = TerminCollection()
     for k in range(2):
         name = ("NameNouns_ru.dat" if k == 0 else "NameNouns_ua.dat")
         dat = EpNerOrgInternalResourceHelper.getBytes(name)
         if (dat is None):
             raise Utils.newException(
                 "Can't file resource file {0} in Organization analyzer".
                 format(name), None)
         str0_ = OrgItemTypeToken._deflate(dat).decode("UTF-8", 'ignore')
         for line0 in Utils.splitString(str0_, '\n', False):
             line = line0.strip()
             if (Utils.isNullOrEmpty(line)):
                 continue
             if (k == 0):
                 OrgItemNameToken.__m_std_nouns.add(Termin(line))
             else:
                 OrgItemNameToken.__m_std_nouns.add(
                     Termin._new872(line, MorphLang.UA))
Example #18
0
 def __process2(self, kit: 'AnalysisKit', ar: 'AnalysisResult',
                no_log: bool) -> None:
     sw = Stopwatch()
     stop_by_timeout = False
     anals = list(self.__m_analyzers)
     ii = 0
     first_pass3164 = True
     while True:
         if first_pass3164: first_pass3164 = False
         else: ii += 1
         if (not (ii < len(anals))): break
         c = anals[ii]
         if (c.ignore_this_analyzer):
             continue
         if (self.__m_breaked):
             if (not no_log):
                 msg = "Процесс прерван пользователем"
                 self.__onMessage(msg)
                 ar.log0_.append(msg)
             break
         if (self.timeout_seconds > 0 and not stop_by_timeout):
             if (int(
                 (datetime.datetime.now() -
                  kit._start_date).total_seconds()) > self.timeout_seconds):
                 self.__m_breaked = True
                 if (not no_log):
                     msg = "Процесс прерван по таймауту"
                     self.__onMessage(msg)
                     ar.log0_.append(msg)
                 stop_by_timeout = True
         if (stop_by_timeout):
             if (c.name == "INSTRUMENT"):
                 pass
             else:
                 continue
         if (not no_log):
             self._onProgressHandler(
                 c, ProgressEventArgs(0,
                                      "Работа \"{0}\"".format(c.caption)))
         sw.reset()
         sw.start()
         c.process(kit)
         sw.stop()
         dat = kit.getAnalyzerData(c)
         if (not no_log):
             msg = "Анализатор \"{0}\" выделил {1} объект(ов) за {2}".format(
                 c.caption, (0 if dat is None else len(dat.referents)),
                 Processor.__outSecs(sw.elapsedMilliseconds))
             self.__onMessage(msg)
             ar.log0_.append(msg)
     if (not no_log):
         self._onProgressHandler(
             None, ProgressEventArgs(0, "Пересчёт отношений обобщения"))
     try:
         sw.reset()
         sw.start()
         GeneralRelationHelper.refreshGenerals(self, kit)
         sw.stop()
         if (not no_log):
             msg = "Отношение обобщение пересчитано за {0}".format(
                 Processor.__outSecs(sw.elapsedMilliseconds))
             self.__onMessage(msg)
             ar.log0_.append(msg)
     except Exception as ex:
         if (not no_log):
             ex = Utils.newException("Ошибка пересчёта отношения обобщения",
                                     ex)
             self.__onMessage(ex)
             ar._addException(ex)