From 478b6c389b1023239ae3ca64ed05f26ac9865dbd Mon Sep 17 00:00:00 2001 From: pete Date: Tue, 17 Sep 2024 07:16:41 +0100 Subject: [PATCH 1/4] fix: Better handling of TW/caldav priority conversion --- syncall/tw_caldav_utils.py | 6 +++--- tests/test_tw_caldav_conversions.py | 4 +++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/syncall/tw_caldav_utils.py b/syncall/tw_caldav_utils.py index bd9da4b..bd22b15 100644 --- a/syncall/tw_caldav_utils.py +++ b/syncall/tw_caldav_utils.py @@ -88,11 +88,11 @@ def convert_tw_to_caldav(tw_item: Item) -> Item: tw_item=tw_item, ) - # Priority - if "priority" in tw_item: + # Priority - tw treats priority as a UDA, so any custom options just ignore for now + if "priority" in tw_item.keys() and tw_item["priority"].lower() in aliases_tw_caldav_priority.keys(): 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..d86c3d6 100644 --- a/tests/test_tw_caldav_conversions.py +++ b/tests/test_tw_caldav_conversions.py @@ -2,6 +2,7 @@ import pytest from dateutil.tz import tzutc + from syncall.caldav.caldav_side import CaldavSide from syncall.taskwarrior.taskwarrior_side import TaskWarriorSide from syncall.tw_caldav_utils import ( @@ -156,7 +157,7 @@ def caldav_item_with_priority(prio: int) -> dict: tw_pending_item_with_priority(tw_prio), caldav_item_with_priority(caldav_prio), ) - for tw_prio, caldav_prio in [("L", 9), ("M", 5), ("H", 1)] + for tw_prio, caldav_prio in [("L", 9), ("M", 5), ("H", 1), ("T", 0)] ), ], ids=[ @@ -169,6 +170,7 @@ def caldav_item_with_priority(prio: int) -> dict: "pending_item_with_priority_L", "pending_item_with_priority_M", "pending_item_with_priority_H", + "pending_item_with_priority_T", ], ) def test_convert_tw_to_caldav_n_back(tw_item, caldav_item_expected): From f13807529573e116d89d47639d10f50e9725725d Mon Sep 17 00:00:00 2001 From: pete Date: Tue, 17 Sep 2024 07:42:56 +0100 Subject: [PATCH 2/4] fix: Regression --- syncall/tw_caldav_utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syncall/tw_caldav_utils.py b/syncall/tw_caldav_utils.py index bd22b15..35f3c5b 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.keys() and tw_item["priority"].lower() in aliases_tw_caldav_priority.keys(): caldav_item["priority"] = aliases_tw_caldav_priority[tw_item["priority"].lower()] else: - caldav_item["priority"] = 0 + caldav_item["priority"] = "" # Timestamps if "entry" in tw_item: From a65b3932fd33fd5038e2f71cad5381820a019b4c Mon Sep 17 00:00:00 2001 From: pete Date: Tue, 17 Sep 2024 13:38:40 +0100 Subject: [PATCH 3/4] chore: Linting --- syncall/tw_caldav_utils.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/syncall/tw_caldav_utils.py b/syncall/tw_caldav_utils.py index 35f3c5b..b277d42 100644 --- a/syncall/tw_caldav_utils.py +++ b/syncall/tw_caldav_utils.py @@ -89,7 +89,11 @@ def convert_tw_to_caldav(tw_item: Item) -> Item: ) # Priority - tw treats priority as a UDA, so any custom options just ignore for now - if "priority" in tw_item.keys() and tw_item["priority"].lower() in aliases_tw_caldav_priority.keys(): + if ( + "priority" in tw_item.keys() + and tw_item["priority"].lower() in aliases_tw_caldav_priority.keys() + ): + caldav_item["priority"] = aliases_tw_caldav_priority[tw_item["priority"].lower()] else: caldav_item["priority"] = "" From 461f13198205af70840547849378f016db1d9ef2 Mon Sep 17 00:00:00 2001 From: pete Date: Tue, 17 Sep 2024 13:50:05 +0100 Subject: [PATCH 4/4] chore: More linting --- tests/test_tw_caldav_conversions.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/test_tw_caldav_conversions.py b/tests/test_tw_caldav_conversions.py index d86c3d6..0e32c9f 100644 --- a/tests/test_tw_caldav_conversions.py +++ b/tests/test_tw_caldav_conversions.py @@ -2,7 +2,6 @@ import pytest from dateutil.tz import tzutc - from syncall.caldav.caldav_side import CaldavSide from syncall.taskwarrior.taskwarrior_side import TaskWarriorSide from syncall.tw_caldav_utils import (