From 79b1c42db07e7327ee6ef08d976464afb18a8f44 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 14 Jul 2011 12:47:14 -0600 Subject: [PATCH] Fix #810655 (unable to add new books to calibre on win7) --- src/calibre/ptempfile.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/calibre/ptempfile.py b/src/calibre/ptempfile.py index af34408a05..00e415ec74 100644 --- a/src/calibre/ptempfile.py +++ b/src/calibre/ptempfile.py @@ -114,7 +114,17 @@ def PersistentTemporaryDirectory(suffix='', prefix='', dir=None): ''' if dir is None: dir = base_dir() - tdir = tempfile.mkdtemp(suffix, __appname__+"_"+ __version__+"_" +prefix, dir) + try: + tdir = tempfile.mkdtemp(suffix, __appname__+"_"+ __version__+"_" +prefix, dir) + except ValueError: + global _base_dir + from calibre.constants import filesystem_encoding + base_dir() + if not isinstance(_base_dir, unicode): + _base_dir = _base_dir.decode(filesystem_encoding) + dir = dir.decode(filesystem_encoding) + tdir = tempfile.mkdtemp(suffix, __appname__+"_"+ __version__+"_" +prefix, dir) + atexit.register(remove_dir, tdir) return tdir