Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 7 additions & 5 deletions swanlab/data/modules/wrapper.py
Original file line number Diff line number Diff line change
Expand Up @@ -125,18 +125,20 @@ def parse(self, **kwargs) -> Optional[ParseResult]:
buffers.append(r)
more.append(i.get_more())
result.strings = data
# 过滤掉空列表
result.buffers = self.__filter_list(buffers)
result.more = self.__filter_list(more)
# more 字段需要保留列表结构,即使全为 None,否则前端访问 more[0] 会报错
result.more = self.__filter_list(more, keep_none_list=True)
self.__result = result
return self.__result

@staticmethod
def __filter_list(li: List):
def __filter_list(li: List, keep_none_list: bool = False) -> Optional[List]:
"""
如果li长度大于0且如果l内部不全是None,返回l,否则返回None
过滤列表。默认情况下,如果列表为空或所有元素都为None,则返回None
:param li: 待过滤的列表
:param keep_none_list: 是否保留全为 None 的列表
"""
if len(li) > 0 and any(i is not None for i in li):
if li and (keep_none_list or any(i is not None for i in li)):
return li
return None

Expand Down