37 lines
982 B
Python
37 lines
982 B
Python
import datetime
|
|
from typing import ClassVar
|
|
from .base_nodes import CCBaseNode
|
|
|
|
class CalendarNode(CCBaseNode):
|
|
__primarylabel__: ClassVar[str] = 'Calendar'
|
|
name: str
|
|
start_date: datetime.date
|
|
end_date: datetime.date
|
|
|
|
class CalendarYearNode(CCBaseNode):
|
|
__primarylabel__: ClassVar[str] = 'CalendarYear'
|
|
year: str
|
|
|
|
class CalendarMonthNode(CCBaseNode):
|
|
__primarylabel__: ClassVar[str] = 'CalendarMonth'
|
|
year: str
|
|
month: str
|
|
month_name: str
|
|
|
|
class CalendarWeekNode(CCBaseNode):
|
|
__primarylabel__: ClassVar[str] = 'CalendarWeek'
|
|
start_date: datetime.date
|
|
week_number: str
|
|
iso_week: str # ISO 8601 week
|
|
|
|
class CalendarDayNode(CCBaseNode):
|
|
__primarylabel__: ClassVar[str] = 'CalendarDay'
|
|
date: datetime.date
|
|
day_of_week: str
|
|
iso_day: str # ISO 8601 day
|
|
|
|
class CalendarTimeChunkNode(CCBaseNode):
|
|
__primarylabel__: ClassVar[str] = 'CalendarTimeChunk'
|
|
start_time: datetime.time
|
|
end_time: datetime.time
|