diff --git a/invenio_oaiharvester/utils.py b/invenio_oaiharvester/utils.py index ac144e1..e28cd23 100644 --- a/invenio_oaiharvester/utils.py +++ b/invenio_oaiharvester/utils.py @@ -26,6 +26,7 @@ import os import re import tempfile +from contextlib import closing from datetime import datetime from flask import current_app @@ -170,16 +171,16 @@ def create_file_name(output_dir): """ prefix = 'oaiharvest_' + datetime.now().strftime('%Y-%m-%d') + '_' - try: - temp = tempfile.NamedTemporaryFile( + with closing( + tempfile.NamedTemporaryFile( prefix=prefix, suffix='.xml', dir=output_dir, mode='w+' ) + ) as temp: file_name = temp.name[:] - finally: - temp.close() + return file_name