From 71a9332dc52eb81398a499da5bce6ff31ae80180 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 4 Mar 2011 09:46:39 -0700 Subject: [PATCH 1/2] Try harder to ensure that all temporary files are deleted on windows --- src/calibre/utils/ipc/launch.py | 7 +++++++ src/calibre/utils/ipc/server.py | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/src/calibre/utils/ipc/launch.py b/src/calibre/utils/ipc/launch.py index 28d5d889e3..bc7927aa11 100644 --- a/src/calibre/utils/ipc/launch.py +++ b/src/calibre/utils/ipc/launch.py @@ -94,7 +94,14 @@ class Worker(object): if not hasattr(self, 'child'): return None return getattr(self.child, 'pid', None) + def close_log_file(self): + try: + self._file.close() + except: + pass + def kill(self): + self.close_log_file() try: if self.is_alive: if iswindows: diff --git a/src/calibre/utils/ipc/server.py b/src/calibre/utils/ipc/server.py index 4d35113d80..e3b7bfd449 100644 --- a/src/calibre/utils/ipc/server.py +++ b/src/calibre/utils/ipc/server.py @@ -34,6 +34,7 @@ class ConnectedWorker(Thread): self.killed = False self.log_path = worker.log_path self.rfile = rfile + self.close_log_file = getattr(worker, 'close_log_file', None) def start_job(self, job): notification = PARALLEL_FUNCS[job.name][-1] is not None @@ -185,6 +186,10 @@ class Server(Thread): # Remove finished jobs for worker in [w for w in self.workers if not w.is_alive]: + try: + worker.close_log_file() + except: + pass self.workers.remove(worker) job = worker.job if worker.returncode != 0: From 736cd93e65f859f2a435670df59c87f3f2629f7f Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 4 Mar 2011 10:21:31 -0700 Subject: [PATCH 2/2] Ignore initials and connectives when geenrating tokens for author name lookup --- src/calibre/ebooks/metadata/sources/base.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/calibre/ebooks/metadata/sources/base.py b/src/calibre/ebooks/metadata/sources/base.py index 54d7d49d6d..142224c599 100644 --- a/src/calibre/ebooks/metadata/sources/base.py +++ b/src/calibre/ebooks/metadata/sources/base.py @@ -65,7 +65,8 @@ class Source(Plugin): parts = parts[1:] + parts[:1] for tok in parts: tok = pat.sub('', tok).strip() - yield tok + if len(tok) > 2 and tok.lower() not in ('von', ): + yield tok def get_title_tokens(self, title):