From 6d2937afa65b428268fba1515cfeed3e4f78d928 Mon Sep 17 00:00:00 2001 From: Jachym Cepicky Date: Sun, 28 Aug 2016 11:39:59 +0200 Subject: [PATCH] closes 109 - fix safe file handling in unit tests --- pywps/inout/basic.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pywps/inout/basic.py b/pywps/inout/basic.py index ef885578a..bf2b979f2 100644 --- a/pywps/inout/basic.py +++ b/pywps/inout/basic.py @@ -74,6 +74,7 @@ def __init__(self, workdir=None, mode=MODE.NONE): self.source = None self._tempfile = None self.workdir = workdir + self._stream = None self.valid_mode = mode @@ -160,8 +161,11 @@ def get_memory_object(self): def get_stream(self): """Get source as stream object""" if self.source_type == SOURCE_TYPE.FILE: + if self._stream and not self._stream.closed: + self._stream.close() from io import FileIO - return FileIO(self.source, mode='r', closefd=True) + self._stream = FileIO(self.source, mode='r', closefd=True) + return self._stream elif self.source_type == SOURCE_TYPE.STREAM: return self.source elif self.source_type == SOURCE_TYPE.DATA: