1010
1111if TYPE_CHECKING :
1212 from icalendar import Calendar
13+ from icalendar import Component
1314 from caldav .calendarobjectresource import CalendarObjectResource
1415
16+ types_factory = TypesFactory ()
17+
1518
1619@dataclass
1720class Searcher :
@@ -106,7 +109,7 @@ class Searcher:
106109 end : datetime = None
107110 alarm_start : datetime = None
108111 alarm_end : datetime = None
109- comp_class : Union ["CalendarObjectResource" , "Calendar " ] = None
112+ comp_class : Union ["CalendarObjectResource" , "Component " ] = None
110113 include_completed : bool = None
111114
112115 expand : bool = False
@@ -146,7 +149,7 @@ def add_property_filter(
146149 if operator not in ("contains" , "undef" , "==" ):
147150 raise NotImplementedError (f"The operator { operator } is not supported yet." )
148151 if operator != "undef" :
149- self ._property_filters [key ] = TypesFactory .for_property (key )(value )
152+ self ._property_filters [key ] = types_factory .for_property (key )(value )
150153 self ._property_operator [key ] = operator
151154
152155 def add_sort_key (self , key : str , reversed : bool = None ) -> None :
@@ -157,7 +160,10 @@ def add_sort_key(self, key: str, reversed: bool = None) -> None:
157160
158161 Except for that, the sort key should be an icalendar property.
159162 """
160- assert key in TypesFactory .types_map or key in ("isnt_overdue" , "hasnt_started" )
163+ assert key in types_factory .types_map or key in (
164+ "isnt_overdue" ,
165+ "hasnt_started" ,
166+ )
161167 self ._sort_keys .append ((key , reversed ))
162168
163169 def check_component (
0 commit comments