| class Block: |
| def __init__(self, doc: str = '', title: str = '', content: str = '', content_fr: str = '', |
| index: str = '', rank: int = 0, level: int = 0, distance: float = 99999): |
| self.doc = doc |
| self.title = title |
| self.title_fr = "" |
| self.content = content |
| self.content_fr = content_fr |
| self.specials = [] |
| self.index = index |
| self.rank = rank |
| self.level = level |
| self.distance = distance |
|
|
| def to_dict(self) -> {}: |
| block_dict = {'doc': self.doc, |
| 'title': self.title, |
| 'title_fr': self.title_fr, |
| 'content': self.content, |
| 'content_fr': self.content_fr, |
| 'index': self.index, |
| 'rank': self.rank, |
| 'level': self.level, |
| 'distance': self.distance} |
| for i, s in enumerate(self.specials): |
| special_key = 'special_'+str(i) |
| block_dict[special_key] = s |
| block_dict['specials_len'] = len(self.specials) |
| return block_dict |
|
|
| def from_dict(self, block_dict: {}): |
| self.doc = block_dict['doc'] |
| self.title = block_dict['title'] |
| self.title_fr = block_dict['title_fr'] |
| self.content = block_dict['content'] |
| self.content_fr = block_dict['content_fr'] |
| self.index = block_dict['index'] |
| self.rank = block_dict['rank'] |
| self.level = block_dict['level'] |
| self.distance = block_dict['distance'] |
| self.specials = [] |
| for i in range(block_dict['specials_len']): |
| special_key = 'special_' + str(i) |
| self.specials.append(block_dict[special_key]) |
| return self |
|
|
| @property |
| def distance_str(self) -> str: |
| return format(self.distance, '.2f') |
|
|