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
commit c6996a48a4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
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]