MaxKB/apps/common/handle/base_parse_qa_handle.py
2024-05-27 16:06:14 +08:00

53 lines
1.4 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# coding=utf-8
"""
@project: maxkb
@Author
@file base_parse_qa_handle.py
@date2024/5/21 14:56
@desc:
"""
from abc import ABC, abstractmethod
def get_row_value(row, title_row_index_dict, field):
index = title_row_index_dict.get(field)
if index is None:
return None
if (len(row) - 1) >= index:
return row[index]
return None
def get_title_row_index_dict(title_row_list):
title_row_index_dict = {}
if len(title_row_list) == 1:
title_row_index_dict['content'] = 0
elif len(title_row_list) == 1:
title_row_index_dict['title'] = 0
title_row_index_dict['content'] = 1
else:
title_row_index_dict['title'] = 0
title_row_index_dict['content'] = 1
title_row_index_dict['problem_list'] = 2
for index in range(len(title_row_list)):
title_row = title_row_list[index]
if title_row is None:
title_row = ''
if title_row.startswith('分段标题'):
title_row_index_dict['title'] = index
if title_row.startswith('分段内容'):
title_row_index_dict['content'] = index
if title_row.startswith('问题'):
title_row_index_dict['problem_list'] = index
return title_row_index_dict
class BaseParseQAHandle(ABC):
@abstractmethod
def support(self, file, get_buffer):
pass
@abstractmethod
def handle(self, file, get_buffer):
pass