示例#1
0
 def _serialize(self, stream: Stream) -> None:
     super()._serialize(stream)
     id0_ = 0
     if (self.referent is not None
             and (isinstance(self.referent.tag, int))):
         id0_ = (self.referent.tag)
     SerializerHelper.serialize_int(stream, id0_)
示例#2
0
 def serialize(self, stream: Stream) -> None:
     """ Сериализовать весь словарь в поток
     
     Args:
         stream(Stream): поток для сериализации
     """
     SerializerHelper.serialize_string(stream, self.__m_specs)
     SerializerHelper.serialize_int(stream, len(self.items))
     for it in self.items:
         it._serialize(stream)
 def _serialize(self, stream: Stream) -> None:
     from pullenti.ner.core.internal.SerializerHelper import SerializerHelper
     SerializerHelper.serialize_short(stream, self.__m_class.value)
     SerializerHelper.serialize_short(stream, self.__m_case.value)
     SerializerHelper.serialize_short(stream, self.__m_gender)
     SerializerHelper.serialize_short(stream, self.__m_number)
     SerializerHelper.serialize_short(stream, self.__m_voice)
     SerializerHelper.serialize_short(stream, self.__m_language.value)
     if (self.__m_items is None):
         self.__m_items = list()
     SerializerHelper.serialize_int(stream, len(self.__m_items))
     for it in self.__m_items:
         self.__serialize_item(stream, it)
示例#4
0
 def _serialize(self, stream: Stream) -> None:
     from pullenti.ner.core.internal.SerializerHelper import SerializerHelper
     SerializerHelper.serialize_int(stream, self.begin_char)
     SerializerHelper.serialize_int(stream, self.end_char)
     SerializerHelper.serialize_int(stream, self.__m_attrs)
     SerializerHelper.serialize_int(stream, self.chars.value)
     if (self.__m_morph is None):
         self.__m_morph = MorphCollection()
     self.__m_morph._serialize(stream)
示例#5
0
 def serialize(self, stream: Stream) -> None:
     stream.writebyte(0xAA)
     stream.writebyte(1)
     self.__m_sofa.serialize(stream)
     SerializerHelper.serialize_int(stream, self.base_language.value)
     if (len(self.__m_entities) == 0):
         for d in self.__m_datas.items():
             self.__m_entities.extend(d[1].referents)
     SerializerHelper.serialize_int(stream, len(self.__m_entities))
     i = 0
     while i < len(self.__m_entities):
         self.__m_entities[i].tag = i + 1
         SerializerHelper.serialize_string(stream,
                                           self.__m_entities[i].type_name)
         i += 1
     for e0_ in self.__m_entities:
         e0_.serialize(stream)
     SerializerHelper.serialize_tokens(stream, self.first_token, 0)
 def _serialize(self, stream: Stream) -> None:
     SerializerHelper.serialize_string(
         stream, (None if self.ext_id is None else str(self.ext_id)))
     SerializerHelper.serialize_string(stream, self.__m_caption)
     if (self._refs is None):
         SerializerHelper.serialize_int(stream, 0)
     else:
         SerializerHelper.serialize_int(stream, len(self._refs))
         id0_ = 1
         for r in self._refs:
             r.tag = id0_
             id0_ += 1
         for r in self._refs:
             r.occurrence.clear()
             SerializerHelper.serialize_string(stream, r.type_name)
             r.serialize(stream)
     self.referent.occurrence.clear()
     SerializerHelper.serialize_string(stream, self.type_name)
     self.referent.serialize(stream)
 def __serialize_item(self, stream: Stream, bi: 'MorphBaseInfo') -> None:
     from pullenti.ner.core.internal.SerializerHelper import SerializerHelper
     ty = 0
     if (isinstance(bi, MorphWordForm)):
         ty = (1)
     stream.writebyte(ty)
     SerializerHelper.serialize_short(stream, bi.class0_.value)
     SerializerHelper.serialize_short(stream, bi.case_.value)
     SerializerHelper.serialize_short(stream, bi.gender)
     SerializerHelper.serialize_short(stream, bi.number)
     SerializerHelper.serialize_short(stream, bi.language.value)
     wf = Utils.asObjectOrNull(bi, MorphWordForm)
     if (wf is None):
         return
     SerializerHelper.serialize_string(stream, wf.normal_case)
     SerializerHelper.serialize_string(stream, wf.normal_full)
     SerializerHelper.serialize_short(stream, wf.undef_coef)
     SerializerHelper.serialize_int(
         stream, (0 if wf.misc is None else len(wf.misc.attrs)))
     if (wf.misc is not None):
         for a in wf.misc.attrs:
             SerializerHelper.serialize_string(stream, a)
示例#8
0
 def _serialize(self, stream: Stream) -> None:
     from pullenti.ner.core.internal.SerializerHelper import SerializerHelper
     super()._serialize(stream)
     SerializerHelper.serialize_string(stream, self.__m_value)
     SerializerHelper.serialize_int(stream, self.typ)
示例#9
0
 def serialize(self, stream: Stream) -> None:
     SerializerHelper.serialize_string(stream, self.type_name)
     SerializerHelper.serialize_int(stream, len(self.__m_slots))
     for s in self.__m_slots:
         SerializerHelper.serialize_string(stream, s.type_name)
         SerializerHelper.serialize_int(stream, s.count)
         if ((isinstance(s.value, Referent))
                 and (isinstance(s.value.tag, int))):
             SerializerHelper.serialize_int(stream, -(s.value.tag))
         elif (isinstance(s.value, str)):
             SerializerHelper.serialize_string(
                 stream, Utils.asObjectOrNull(s.value, str))
         elif (s.value is None):
             SerializerHelper.serialize_int(stream, 0)
         else:
             SerializerHelper.serialize_string(stream, str(s.value))
     if (self.__m_occurrence is None):
         SerializerHelper.serialize_int(stream, 0)
     else:
         SerializerHelper.serialize_int(stream, len(self.__m_occurrence))
         for o in self.__m_occurrence:
             SerializerHelper.serialize_int(stream, o.begin_char)
             SerializerHelper.serialize_int(stream, o.end_char)
             attr = 0
             if (o.essential_for_occurence):
                 attr = 1
             SerializerHelper.serialize_int(stream, attr)