Improve exception raising when it comes from an exception handler.

This commit is contained in:
Frédéric Tronel
2026-08-31 11:20:25 +02:00
parent 4597c459a8
commit b0bc0a338e
3 changed files with 30 additions and 28 deletions
+2 -2
View File
@@ -20,8 +20,8 @@ def do_coarse_processing(ffmpeg_path:str, ffprobe_path:str, mkvmerge_path:str,
try:
internal_mkv = open(internal_mkv_name, 'wb+')
except OSError:
raise TemporaryFileError(f"Impossible to create {internal_mkv_name}")
except OSError as e:
raise TemporaryFileError(f"Impossible to create {internal_mkv_name}") from e
# Extract internal part of MKV
extract_mkv_part(mkvmerge_path=mkvmerge_path, input_file=input_file, output_file=internal_mkv,
+16 -14
View File
@@ -210,23 +210,24 @@ def cut_recording(media: PreparedMedia, options: ProcessingOptions,
try:
internal_mkv = open(internal_mkv_name, 'wb+')
except OSError:
raise TemporaryFileError(f"Impossible to create file: {internal_mkv_name}")
except OSError as e:
raise TemporaryFileError(f"Impossible to create file: {internal_mkv_name}") from e
try:
internal_novideo_mkv = open(internal_novideo_mkv_name, 'wb+')
except OSError:
raise TemporaryFileError(f"Impossible to create file: {internal_novideo_mkv_name}")
except OSError as e:
raise TemporaryFileError(f"Impossible to create file: \
{internal_novideo_mkv_name}") from e
try:
internal_h264 = open(internal_h264_name, 'wb+')
except OSError:
raise TemporaryFileError(f"Impossible to create file: {internal_h264_name}")
except OSError as e:
raise TemporaryFileError(f"Impossible to create file: {internal_h264_name}") from e
try:
internal_h264_ts = open(internal_h264_ts_name, 'w+', encoding='utf8')
except OSError:
raise TemporaryFileError(f"Impossible to create file: {internal_h264_ts_name}")
except OSError as e:
raise TemporaryFileError(f"Impossible to create file: {internal_h264_ts_name}") from e
# logger.info('Merge header, middle and trailer subpart into: %s' % internal_mkv_name)
# Extract internal part of MKV
@@ -297,8 +298,8 @@ def cut_recording(media: PreparedMedia, options: ProcessingOptions,
if nb_mkv_parts > 0:
try:
full_h264 = open(f'{media.basename}-full.h264', 'wb+')
except OSError:
raise TemporaryFileError("Impossible to create file full H264 stream.")
except OSError as e:
raise TemporaryFileError("Impossible to create file full H264 stream.") from e
logger.info('Merging all H264 tracks')
concatenate_h264_parts(h264parts=h264parts, output=full_h264)
@@ -306,8 +307,9 @@ def cut_recording(media: PreparedMedia, options: ProcessingOptions,
try:
full_h264_ts = open(f'{media.basename}-ts.txt', 'w+', encoding='utf8')
except OSError:
raise TemporaryFileError("Impossible to create file containing all video timestamps.")
except OSError as e:
raise TemporaryFileError("Impossible to create file containing all video timestamps.")\
from e
logger.info('Merging H264 timestamps')
concatenate_h264_ts_parts(h264_ts_parts=h264_ts, output=full_h264_ts)
@@ -329,8 +331,8 @@ def cut_recording(media: PreparedMedia, options: ProcessingOptions,
if nb_mkv_parts >=1 :
try:
final_novideo = open(final_novideo_name, 'rb')
except OSError:
raise TemporaryFileError(f"Impossible to open file: {final_novideo_name}")
except OSError as e:
raise TemporaryFileError(f"Impossible to open file: {final_novideo_name}") from e
temporaries.add(final_novideo)
+12 -12
View File
@@ -51,8 +51,8 @@ def process_recording(options: ProcessingOptions, temporaries: TemporaryFiles) -
try:
input_file = open(options.input_file, mode='rb')
logger.debug("Type of input file: %s", type(input_file))
except OSError:
raise InvalidMediaError(f"Impossible to open {options.input_file}")
except OSError as e:
raise InvalidMediaError(f"Impossible to open {options.input_file}") from e
format_of_file = get_format(options.tools_paths['ffprobe'], input_file)
@@ -90,23 +90,23 @@ def process_recording(options: ProcessingOptions, temporaries: TemporaryFiles) -
logger.info("Converting MP4 to MKV.")
try:
mkv = open(mkvfilename, 'wb+')
except OSError:
raise TemporaryFileError(f"Impossible to create: {mkvfilename}")
except OSError as e:
raise TemporaryFileError(f"Impossible to create: {mkvfilename}") from e
ffmpeg_convert(options.tools_paths['ffmpeg'], options.tools_paths['ffprobe'],
mp4, 'mp4', mkv, 'matroska', duration)
if nb_parts > 0:
temporaries.add(mkv)
except OSError:
raise TemporaryFileError(f"Impossible to create: {mp4filename}")
except OSError as e:
raise TemporaryFileError(f"Impossible to create: {mp4filename}") from e
elif final_format_of_file == SupportedFormat.MP4:
logger.info("Converting MP4 to MKV")
try:
mkv = open(mkvfilename, 'wb+')
except OSError:
raise TemporaryFileError(f"Impossible to create: {mkvfilename}")
except OSError as e:
raise TemporaryFileError(f"Impossible to create: {mkvfilename}") from e
ffmpeg_convert(options.tools_paths['ffmpeg'], options.tools_paths['ffprobe'],
input_file, 'mp4', mkv, 'matroska', duration)
if nb_parts > 0:
@@ -229,12 +229,12 @@ def process_recording(options: ProcessingOptions, temporaries: TemporaryFiles) -
for idx_name, sub_name, _, _ in list_of_subtitles:
try:
idx = open(idx_name,'rb')
except OSError:
raise TemporaryFileError(f"Impossible to open {idx_name}")
except OSError as e:
raise TemporaryFileError(f"Impossible to open {idx_name}") from e
try:
sub = open(sub_name,'rb')
except OSError:
raise TemporaryFileError(f"Impossible to open {sub_name}")
except OSError as e:
raise TemporaryFileError(f"Impossible to open {sub_name}") from e
temporaries.add(idx)
temporaries.add(sub)