@@ -82,6 +82,38 @@ def get_order(self) -> str:
8282 def set_order (self , order : str ) -> None :
8383 raise NotImplementedError (self .set_order )
8484
85+ def get_refreshrate (self ) -> str :
86+ """Get the recommended refresh rate for this collection.
87+
88+ Returns: Refresh rate in ISO 8601 duration format
89+ Raises: KeyError if not set
90+ """
91+ raise NotImplementedError (self .get_refreshrate )
92+
93+ def set_refreshrate (self , refreshrate : str | None ) -> None :
94+ """Set the recommended refresh rate for this collection.
95+
96+ Args:
97+ refreshrate: Refresh rate in ISO 8601 duration format, or None to unset
98+ """
99+ raise NotImplementedError (self .set_refreshrate )
100+
101+ def get_timezone (self ) -> str :
102+ """Get the calendar timezone.
103+
104+ Returns: iCalendar VTIMEZONE component as a string
105+ Raises: KeyError if not set
106+ """
107+ raise NotImplementedError (self .get_timezone )
108+
109+ def set_timezone (self , timezone : str | None ) -> None :
110+ """Set the calendar timezone.
111+
112+ Args:
113+ timezone: iCalendar VTIMEZONE component as a string, or None to unset
114+ """
115+ raise NotImplementedError (self .set_timezone )
116+
85117
86118class FileBasedCollectionMetadata (CollectionMetadata ):
87119 """Metadata for a configuration."""
@@ -172,3 +204,24 @@ def set_order(self, order):
172204 del self ._configparser ["calendar" ]["order" ]
173205 else :
174206 self ._configparser ["calendar" ]["order" ] = order
207+ self ._save ("Set calendar order." )
208+
209+ def get_refreshrate (self ):
210+ return self ._configparser ["DEFAULT" ]["refreshrate" ]
211+
212+ def set_refreshrate (self , refreshrate ):
213+ if refreshrate is not None :
214+ self ._configparser ["DEFAULT" ]["refreshrate" ] = refreshrate
215+ else :
216+ del self ._configparser ["DEFAULT" ]["refreshrate" ]
217+ self ._save ("Set refresh rate." )
218+
219+ def get_timezone (self ):
220+ return self ._configparser ["DEFAULT" ]["timezone" ]
221+
222+ def set_timezone (self , timezone ):
223+ if timezone is not None :
224+ self ._configparser ["DEFAULT" ]["timezone" ] = timezone
225+ else :
226+ del self ._configparser ["DEFAULT" ]["timezone" ]
227+ self ._save ("Set timezone." )
0 commit comments