工程名称下拉项获取兼容.md文件,同时新增自定义答案合成类
This commit is contained in:
@@ -13,6 +13,8 @@ class ChunkMarkdownReader(MarkdownReader):
|
||||
) -> None:
|
||||
self._chunkSize = chunkSize
|
||||
self._tokenizer = get_tokenizer()
|
||||
self._colheader = ''
|
||||
self._rows = []
|
||||
super().__init__(*args,**kwargs)
|
||||
|
||||
def markdown_to_tups(self, markdown_text: str) -> List[Tuple[Optional[str], str]]:
|
||||
@@ -34,6 +36,8 @@ class ChunkMarkdownReader(MarkdownReader):
|
||||
tokensNum = headerSize
|
||||
current_lines.clear()
|
||||
current_lines.append(line)
|
||||
if strTitle!='' and strheader!='':
|
||||
self._rows.append(line)
|
||||
|
||||
if line == '\n' or line == '\r':
|
||||
if tokensNum > self._chunkSize:
|
||||
@@ -43,10 +47,12 @@ class ChunkMarkdownReader(MarkdownReader):
|
||||
current_lines.clear()
|
||||
|
||||
if line.startswith("|---"):
|
||||
self._colheader = current_lines[0]
|
||||
strheader = "\n".join(current_lines)
|
||||
headerSize= headerSize + self._token_size(strheader)
|
||||
current_lines.clear()
|
||||
|
||||
|
||||
if len(current_lines) > 0:
|
||||
if len(markdown_tups) == 0:
|
||||
markdown_tups.append((strTitle + strheader , "\n".join(current_lines)))
|
||||
@@ -62,4 +68,22 @@ class ChunkMarkdownReader(MarkdownReader):
|
||||
]
|
||||
|
||||
def _token_size(self, text: str) -> int:
|
||||
return len(self._tokenizer(text))
|
||||
return len(self._tokenizer(text))
|
||||
|
||||
def findValue(self,expression:str,Field:str):
|
||||
cols = self._colheader.split('|')
|
||||
cols = [item for item in cols if item]
|
||||
|
||||
for row in self._rows:
|
||||
rowtrs = row.split('|')
|
||||
rowdatas = [item for item in rowtrs if item and (item!='\r' or item!='\n')]
|
||||
if len(rowdatas) == 0:
|
||||
continue
|
||||
gData = {}
|
||||
for cName,rValue in zip(cols,rowdatas):
|
||||
gData[cName] = rValue
|
||||
if eval(expression,gData):
|
||||
return gData[Field]
|
||||
return ''
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user