calendar + aggregate config

This commit is contained in:
Jörn-Michael Miehe 2022-09-06 00:03:44 +00:00
parent e804ae68f8
commit 1e9efd9cf3

View file

@ -38,15 +38,24 @@ class ImageConfig(BaseModel):
}
class AggregateCalendarConfig(BaseModel):
class CalAggregateConfig(BaseModel):
"""
Sections "[[aggregate]]" in "config.txt".
Sections "[[calendar.aggregate]]" in "config.txt".
"""
name: str = "All Events"
calendars: list[str]
class CalendarConfig(BaseModel):
"""
Section "[calendar]" in "config.txt".
"""
future_days: int = 365
aggregate: list[CalAggregateConfig] = []
class Config(BaseModel):
"""
Main representation of "config.txt".
@ -54,7 +63,7 @@ class Config(BaseModel):
ticker: TickerConfig = TickerConfig()
image: ImageConfig = ImageConfig()
aggregate: list[AggregateCalendarConfig] = []
calendar: CalendarConfig = CalendarConfig()
@classmethod
async def get(cls) -> "Config":
@ -71,8 +80,8 @@ class Config(BaseModel):
except RemoteResourceNotFound:
cfg = cls()
cfg.aggregate.append(
AggregateCalendarConfig(calendars=await caldav_list()),
cfg.calendar.aggregate.append(
CalAggregateConfig(calendars=await caldav_list()),
)
buffer = BytesIO()