Correctly reraise exception

pull/2767/head
Erik Johnston 2018-01-12 14:44:02 +00:00
parent 85a4d78213
commit e21370ba54
1 changed files with 4 additions and 2 deletions

View File

@ -24,6 +24,7 @@ import contextlib
import os import os
import logging import logging
import shutil import shutil
import sys
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -114,12 +115,13 @@ class MediaStorage(object):
try: try:
with open(fname, "wb") as f: with open(fname, "wb") as f:
yield f, fname, finish yield f, fname, finish
except Exception as e: except Exception:
t, v, tb = sys.exc_info()
try: try:
os.remove(fname) os.remove(fname)
except Exception: except Exception:
pass pass
raise e raise t, v, tb
if not finished_called: if not finished_called:
raise Exception("Finished callback not called") raise Exception("Finished callback not called")