Add parameter to fs_cleanup function to close a file descriptor before closing it. GitLab issue #309.

This commit is contained in:
Roberto Rosario
2016-06-27 19:21:42 -04:00
parent 5ac1276f25
commit d0aee4f72b
2 changed files with 6 additions and 3 deletions

View File

@@ -45,10 +45,13 @@ def encapsulate(function):
return lambda: function
def fs_cleanup(filename, suppress_exceptions=True):
def fs_cleanup(filename, file_descriptor=None, suppress_exceptions=True):
"""
Tries to remove the given filename. Ignores non-existent files
"""
if file_descriptor:
os.close(file_descriptor)
try:
os.remove(filename)
except OSError:

View File

@@ -155,12 +155,12 @@ class PopplerParser(Parser):
return_code = proc.wait()
if return_code != 0:
logger.error(proc.stderr.readline())
fs_cleanup(temp_filepath)
fs_cleanup(temp_filepath, file_descriptor=destination_descriptor)
raise ParserError
output = proc.stdout.read()
fs_cleanup(temp_filepath)
fs_cleanup(temp_filepath, file_descriptor=destination_descriptor)
if output == b'\x0c':
logger.debug('Parser didn\'t return any output')