From 55ad9a3c97611d58fa62ed2a1642e983f4cff974 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 1 Mar 2018 18:03:33 +0530 Subject: [PATCH] Use the cache dir for temp files created by auto-add Idiotic windows temp file cleaners. --- src/calibre/gui2/auto_add.py | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/src/calibre/gui2/auto_add.py b/src/calibre/gui2/auto_add.py index aa5a9216bd..9b1069ec2b 100644 --- a/src/calibre/gui2/auto_add.py +++ b/src/calibre/gui2/auto_add.py @@ -14,11 +14,11 @@ from future_builtins import map from PyQt5.Qt import (QFileSystemWatcher, QObject, Qt, pyqtSignal, QTimer, QApplication, QCursor) from calibre import prints -from calibre.ptempfile import PersistentTemporaryDirectory from calibre.db.adding import filter_filename, compile_rule from calibre.ebooks import BOOK_EXTENSIONS from calibre.gui2 import gprefs from calibre.gui2.dialogs.duplicates import DuplicatesQuestion +from calibre.utils.tdir_in_cache import tdir_in_cache AUTO_ADDED = frozenset(BOOK_EXTENSIONS) - {'pdr', 'mbp', 'tan'} @@ -69,17 +69,20 @@ class Worker(Thread): return allowed def run(self): - self.tdir = PersistentTemporaryDirectory('_auto_adder') - while self.keep_running: - self.wake_up.wait() - self.wake_up.clear() - if not self.keep_running: - break - try: - self.auto_add() - except: - import traceback - traceback.print_exc() + self.tdir = tdir_in_cache('aa') + try: + while self.keep_running: + self.wake_up.wait() + self.wake_up.clear() + if not self.keep_running: + break + try: + self.auto_add() + except: + import traceback + traceback.print_exc() + finally: + shutil.rmtree(self.tdir, ignore_errors=True) def auto_add(self): from calibre.utils.ipc.simple_worker import fork_job, WorkerError