Index: client/common_lib/autotemp.py |
diff --git a/client/common_lib/autotemp.py b/client/common_lib/autotemp.py |
index 536d81c127839959aef6064b3763fddd00c9aa64..bbe737eab2c382d0c4d28abeddf1fa7b4378ccaf 100644 |
--- a/client/common_lib/autotemp.py |
+++ b/client/common_lib/autotemp.py |
@@ -31,6 +31,7 @@ class tempfile(object): |
t = autotemp.tempfile(unique_id='fig') |
t.name # name of file |
t.fd # file descriptor |
+ t.fo # file object |
t.clean() # clean up after yourself |
""" |
def __init__(self, unique_id, suffix='', prefix='', dir=None, |
@@ -40,6 +41,7 @@ class tempfile(object): |
self.fd, self.name = module_tempfile.mkstemp(suffix=suffix, |
prefix=prefix, |
dir=dir, text=text) |
+ self.fo = os.fdopen(self.fd) |
def clean(self): |
@@ -47,15 +49,17 @@ class tempfile(object): |
Remove the temporary file that was created. |
This is also called by the destructor. |
""" |
+ if self.fo: |
+ self.fo.close() |
if self.name and os.path.exists(self.name): |
os.remove(self.name) |
- self.fd = self.name = None |
+ self.fd = self.fo = self.name = None |
def __del__(self): |
try: |
- if self.name: |
+ if self.name is not None: |
logging.debug('Clean was not called for ' + self.name) |
self.clean() |
except: |