From 828c1f394a76d4198645cec85aa87f912aa17380 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 14 Apr 2019 14:36:03 +0530 Subject: [PATCH] py3: Workaround inability to set name attribute on SpooledTemporaryFile --- src/calibre/ptempfile.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/calibre/ptempfile.py b/src/calibre/ptempfile.py index 849a2a5351..238f1ecb1e 100644 --- a/src/calibre/ptempfile.py +++ b/src/calibre/ptempfile.py @@ -266,6 +266,7 @@ class SpooledTemporaryFile(tempfile.SpooledTemporaryFile): if dir is None: dir = base_dir() if ispy3: + self._name = None tempfile.SpooledTemporaryFile.__init__(self, max_size=max_size, suffix=suffix, prefix=prefix, dir=dir, mode=mode) else: @@ -273,6 +274,15 @@ class SpooledTemporaryFile(tempfile.SpooledTemporaryFile): suffix=suffix, prefix=prefix, dir=dir, mode=mode, bufsize=bufsize) + if ispy3: + @property + def name(self): + return self._name + + @name.setter + def name(self, val): + self._name = val + def truncate(self, *args): # The stdlib SpooledTemporaryFile implementation of truncate() doesn't # allow specifying a size.