From 64c96ba4b7ab149b06a77758310eef20c48f74dd Mon Sep 17 00:00:00 2001 From: Bence Ferdinandy Date: Sat, 26 Jul 2025 22:04:56 +0200 Subject: [PATCH] [tw-caldav] Fix no priority upload According to the RFC, the correct value for an undefined priority is 0, not an empty string. The `caldav` package definitely chokes on non-int priorities making it to server-side, when trying to download them. Link: https://datatracker.ietf.org/doc/html/rfc5545#section-3.8.1.9 --- syncall/caldav/caldav_side.py | 1 + syncall/tw_caldav_utils.py | 2 +- tests/test_tw_caldav_conversions.py | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/syncall/caldav/caldav_side.py b/syncall/caldav/caldav_side.py index 65871d9..3f459c9 100644 --- a/syncall/caldav/caldav_side.py +++ b/syncall/caldav/caldav_side.py @@ -29,6 +29,7 @@ class CaldavSide(SyncSide): "status", "summary", "due", + "priority", SYNCALL_TW_WAITING, ) diff --git a/syncall/tw_caldav_utils.py b/syncall/tw_caldav_utils.py index bd9da4b..df3e7e0 100644 --- a/syncall/tw_caldav_utils.py +++ b/syncall/tw_caldav_utils.py @@ -92,7 +92,7 @@ def convert_tw_to_caldav(tw_item: Item) -> Item: if "priority" in tw_item: caldav_item["priority"] = aliases_tw_caldav_priority[tw_item["priority"].lower()] else: - caldav_item["priority"] = "" + caldav_item["priority"] = 0 # Timestamps if "entry" in tw_item: diff --git a/tests/test_tw_caldav_conversions.py b/tests/test_tw_caldav_conversions.py index c84e5ec..8919f8b 100644 --- a/tests/test_tw_caldav_conversions.py +++ b/tests/test_tw_caldav_conversions.py @@ -26,7 +26,7 @@ caldav_pending_item = { "summary": "task in project - and with date", "description": "", - "priority": "", + "priority": 0, SYNCALL_TW_UUID: "4471f2ac-4a70-4012-9eff-b4ddfc860d26", "status": "needs-action", SYNCALL_TW_WAITING: "false",