Skip to content

Commit 286787a

Browse files
authored
Scheduling support
I fixed some testing accounts on DAViCal and ran through some test code that I made long ago - found some broken code and fixed it. Scheduling should be supported * fixes #163 * fixes #125
1 parent f088952 commit 286787a

3 files changed

Lines changed: 13 additions & 3 deletions

File tree

CHANGELOG.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,13 @@ In version 2.0, the requests library will be replaced with niquests or httpx. S
1212

1313
In version 2.0, support for python 3.7 and python 3.8 will be officially dropped. Master branch *should* support both as for now, but Python 3.7 is no longer tested.
1414

15-
## [1.5.0] - [Unreleased]
15+
## [1.6.0] - [Unreleased]
16+
17+
### Fixed
18+
19+
* Scheduling support. It was work in progress many years ago, but uncompleted work was eventually committed to the project. I managed to get a DAViCal test server up and running with three test accounts, ran through the tests, found quite some breakages, but managed to fix up. https://github.com/python-caldav/caldav/pull/497
20+
21+
## [1.5.0] - 2025-05-24
1622

1723
Version 1.5 comes with support for alarms (searching for alarms if the server permits and easy interface for adding alamrs when creating events), lots of workarounds and fixes ensuring compatibility with various servers, refactored some code, and done some preparations for the upcoming server compatibility hints project.
1824

caldav/calendarobjectresource.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -543,6 +543,10 @@ def is_invite_request(self) -> bool:
543543
self.load(only_if_unloaded=True)
544544
return self.icalendar_instance.get("method", None) == "REQUEST"
545545

546+
def is_invite_reply(self) -> bool:
547+
self.load(only_if_unloaded=True)
548+
return self.icalendar_instance.get("method", None) == "REPLY"
549+
546550
def accept_invite(self, calendar: Optional["Calendar"] = None) -> None:
547551
self._reply_to_invite_request("ACCEPTED", calendar)
548552

@@ -729,7 +733,7 @@ def change_attendee_status(self, attendee: Optional[Any] = None, **kwargs) -> No
729733
if self.client is None:
730734
raise ValueError("Unexpected value None for self.client")
731735

732-
attendee = self.client.principal_address or self.client.principal()
736+
attendee = self.client.principal()
733737

734738
cnt = 0
735739

tests/test_caldav.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -490,7 +490,7 @@ def teardown_method(self):
490490
except error.NotFoundError:
491491
pass
492492
for c in self.clients:
493-
c.teardown()
493+
c.teardown(c)
494494

495495
## TODO
496496
# def testFreeBusy(self):

0 commit comments

Comments
 (0)