30 lines
444 B
Python
30 lines
444 B
Python
from typing import List, Literal, Union
|
|
|
|
from pydantic import BaseModel
|
|
|
|
from .text import Text
|
|
|
|
|
|
class Title(BaseModel):
|
|
text: Text
|
|
|
|
|
|
class Paragraph(BaseModel):
|
|
sentences: List[Text]
|
|
|
|
|
|
MetaType = Literal[
|
|
"abstract_start",
|
|
"abstract_end",
|
|
"acknowledgements_start",
|
|
"acknowledgements_end",
|
|
"annex_start",
|
|
"annex_end",
|
|
]
|
|
|
|
|
|
class Meta(BaseModel):
|
|
meta_type: MetaType
|
|
|
|
|
|
Element = Union[Title, Paragraph, Meta]
|