From 55f51be1e63771a5010770c42655af4deb608c77 Mon Sep 17 00:00:00 2001 From: Can Kahraman Date: Wed, 5 Nov 2025 02:23:28 +0300 Subject: [PATCH] delete temporarily created ics files --- khal/khalendar/vdir.py | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/khal/khalendar/vdir.py b/khal/khalendar/vdir.py index b85d7371e..0da052cfa 100644 --- a/khal/khalendar/vdir.py +++ b/khal/khalendar/vdir.py @@ -149,18 +149,26 @@ def atomic_write(dest, overwrite=False): try: yield file - except Exception: + except OSError: os.unlink(src) raise else: file.flush() file.close() - if overwrite: - os.rename(src, dest) - else: - os.link(src, dest) - os.unlink(src) + try: + if overwrite: + os.rename(src, dest) + else: + os.link(src, dest) + os.unlink(src) + except OSError: + # Ensure temp file is cleaned up if link/rename fails + try: + os.unlink(src) + except OSError: + pass # File might already be deleted + raise class VdirBase: