refactor(api/core/app/segments): Support more kinds of Segments. (#6706)

Signed-off-by: -LAN- <laipz8200@outlook.com>
This commit is contained in:
-LAN-
2024-07-26 15:03:56 +08:00
committed by GitHub
parent 6b50bb0fe6
commit c6996a48a4
11 changed files with 147 additions and 96 deletions

View File

@@ -1,19 +1,22 @@
from pydantic import BaseModel
from .segments import Segment
from .types import SegmentType
class SegmentGroup(BaseModel):
segments: list[Segment]
class SegmentGroup(Segment):
value_type: SegmentType = SegmentType.GROUP
value: list[Segment]
@property
def text(self):
return ''.join([segment.text for segment in self.segments])
return ''.join([segment.text for segment in self.value])
@property
def log(self):
return ''.join([segment.log for segment in self.segments])
return ''.join([segment.log for segment in self.value])
@property
def markdown(self):
return ''.join([segment.markdown for segment in self.segments])
return ''.join([segment.markdown for segment in self.value])
def to_object(self):
return [segment.to_object() for segment in self.value]