From 53e89c8b04b7436d8da7dc795d86f6622b80090d Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 29 Jan 2012 10:42:48 +0530 Subject: [PATCH] Content server: Fix metadata not being written to all MOBI files. Fixes #923130 (failed to set metadata) --- src/calibre/ptempfile.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/calibre/ptempfile.py b/src/calibre/ptempfile.py index 9343c88efa..337326be5f 100644 --- a/src/calibre/ptempfile.py +++ b/src/calibre/ptempfile.py @@ -191,8 +191,14 @@ class SpooledTemporaryFile(tempfile.SpooledTemporaryFile): suffix = '' if dir is None: dir = base_dir() - tempfile.SpooledTemporaryFile.__init__(self, max_size=max_size, suffix=suffix, - prefix=prefix, dir=dir, mode=mode, bufsize=bufsize) + tempfile.SpooledTemporaryFile.__init__(self, max_size=max_size, + suffix=suffix, prefix=prefix, dir=dir, mode=mode, + bufsize=bufsize) + + def truncate(self, *args): + # The stdlib SpooledTemporaryFile implementation of truncate() doesn't + # allow specifying a size. + self._file.truncate(*args) def better_mktemp(*args, **kwargs): fd, path = tempfile.mkstemp(*args, **kwargs)