Skip to content

Commit 55f51be

Browse files
committed
delete temporarily created ics files
1 parent e80134f commit 55f51be

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

khal/khalendar/vdir.py

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -149,18 +149,26 @@ def atomic_write(dest, overwrite=False):
149149

150150
try:
151151
yield file
152-
except Exception:
152+
except OSError:
153153
os.unlink(src)
154154
raise
155155
else:
156156
file.flush()
157157
file.close()
158158

159-
if overwrite:
160-
os.rename(src, dest)
161-
else:
162-
os.link(src, dest)
163-
os.unlink(src)
159+
try:
160+
if overwrite:
161+
os.rename(src, dest)
162+
else:
163+
os.link(src, dest)
164+
os.unlink(src)
165+
except OSError:
166+
# Ensure temp file is cleaned up if link/rename fails
167+
try:
168+
os.unlink(src)
169+
except OSError:
170+
pass # File might already be deleted
171+
raise
164172

165173

166174
class VdirBase:

0 commit comments

Comments
 (0)