From e1ee3d45290c32bf8db78243acaba3acd13f09b2 Mon Sep 17 00:00:00 2001 From: Peter Bieringer Date: Tue, 10 Dec 2024 08:26:32 +0100 Subject: [PATCH] also remove 'item' from cache on delete --- CHANGELOG.md | 1 + radicale/storage/multifilesystem/delete.py | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9bcd13d0..9263f50d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ * Add: option [storage] use_cache_subfolder_for_history for storing 'history' cache outside collection-root * Add: option [storage] use_cache_subfolder_for_synctoken for storing 'sync-token' cache outside collection-root * Add: option [storage] folder_umask for configuration of umask (overwrite system-default) +* Fix: also remove 'item' from cache on delete ## 3.3.1 diff --git a/radicale/storage/multifilesystem/delete.py b/radicale/storage/multifilesystem/delete.py index dd7a26e2..86c184ba 100644 --- a/radicale/storage/multifilesystem/delete.py +++ b/radicale/storage/multifilesystem/delete.py @@ -2,6 +2,7 @@ # Copyright © 2014 Jean-Marc Martins # Copyright © 2012-2017 Guillaume Ayoub # Copyright © 2017-2018 Unrud +# Copyright © 2024-2024 Peter Bieringer # # This library is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -53,3 +54,9 @@ class CollectionPartDelete(CollectionPartHistory, CollectionBase): # Track the change self._update_history_etag(href, None) self._clean_history() + # Remove item from cache + cache_folder = self._storage._get_collection_cache_subfolder(os.path.dirname(path), ".Radicale.cache", "item") + cache_file = os.path.join(cache_folder, os.path.basename(path)) + if os.path.isfile(cache_file): + os.remove(cache_file) + self._storage._sync_directory(cache_folder)