You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+10Lines changed: 10 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,12 @@
2
2
3
3
This library should contain logic for searching, filtering and sorting icalendar data, as well as logic for storing and representing an icalendar search query.
4
4
5
+
## Audience
6
+
7
+
* This will be used for the python CalDAV client library, both for boundling search parameters together in one object and for doing client-side filtering when the server does not support the desired search query.
8
+
* This may be useful in any kind of software handling collections of calendar content and needing to do filtering or searches on it.
9
+
* This may also be useful by calendar server developers.
10
+
5
11
## Status as of v0.x.x
6
12
7
13
This library is full of stubbed implementations as for now. The maintainer will urgently prioritize the bare minimum needed for refactoring the search functionality in the CalDAV library. Version 1.0 may still contain some stubs, but should contain a relatively well-defined feature set.
@@ -10,6 +16,10 @@ This library is full of stubbed implementations as for now. The maintainer will
10
16
11
17
This is a spin-off from the python caldav project, started by Tobias Brox in 2025-11, the maintainer of the Python CalDAV client library at that time, in collaboration with the main contributors of the icalendar library.
12
18
19
+
## Performance
20
+
21
+
In the early versions, the filter method will take the calendar contents one by one and check if it matches or not. This will work out well enough for small calendar sets. If lots of searches are to be done on fairly static data (like what typically may happen at the server side in a calendaring system), then it would be an idea to add indexes.
22
+
13
23
## License
14
24
15
25
As for now I'm releasing this under the GNU Affero General Public License v.3.0. If you find this too restrictive or if this causes license compatibility issues for you, please get in touch with me and I will consider to fix some dual licensing, like it's done with the python CalDAV library.
Checks if a component (or a recurrence set) matches the filters.
157
-
Expands a recurring component if needed. Returns the component.
167
+
Checks if a component (or recurrence set) matches the filters. If the component parameter is a calendar containing several independent components, an Exception may be raised.
168
+
169
+
* On a match, the component will be returned, otherwise ``None``.
170
+
* If a time specification is given and the component given is a
171
+
recurring component, it will be expanded internally to check if
172
+
it matches the given time specification.
173
+
* If ``self.expand`` is set, the expanded recurrence set matching
0 commit comments