From c2a572faa79e542c71119a7ee31d39b51ede5eab Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 18 Aug 2013 16:16:27 +0530 Subject: [PATCH] newdb: Fix deleting empty records leaving behind a temp dir --- src/calibre/db/delete_service.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/calibre/db/delete_service.py b/src/calibre/db/delete_service.py index ce5578f888..d512562473 100644 --- a/src/calibre/db/delete_service.py +++ b/src/calibre/db/delete_service.py @@ -49,6 +49,7 @@ class DeleteService(Thread): self.queue_paths(tdir, paths, delete_empty_parent=True) def queue_paths(self, tdir, paths, delete_empty_parent=True): + queued = False for path in paths: if os.path.exists(path): try: @@ -65,6 +66,13 @@ class DeleteService(Thread): if e.errno != errno.ENOTEMPTY: raise self.requests.put(os.path.join(tdir, os.path.basename(path))) + queued = True + if not queued: + try: + os.rmdir(tdir) + except OSError as e: + if e.errno != errno.ENOTEMPTY: + raise def delete_files(self, paths, library_path): tdir = self.create_staging(library_path)