From a12a4e1b2b053f0a53ee4f0c72a71affb53cc3ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Tronel?= Date: Sat, 29 Aug 2026 10:47:42 +0200 Subject: [PATCH] Fix typing errors in ffprobe functions. --- src/tscut/tools/ffprobe.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/tscut/tools/ffprobe.py b/src/tscut/tools/ffprobe.py index 110f7c9..04bd759 100644 --- a/src/tscut/tools/ffprobe.py +++ b/src/tscut/tools/ffprobe.py @@ -85,6 +85,10 @@ def get_frame_rate(ffprobe_path:str, input_file: IO[bytes]) -> float|None: logger.error("ffprobe returns an error code: %d", ffprobe.returncode) return None + if max_ts is None or min_ts is None: + logger.error("Impossible to determine maximum or minimum timestamps.") + return None + frame_rate1 = nb_frames1/(max_ts-min_ts) frame_rate2 = nb_frames2 / mean_duration @@ -102,7 +106,7 @@ def get_frame_rate(ffprobe_path:str, input_file: IO[bytes]) -> float|None: return frame_rate2 @typechecked -def get_subtitles_tracks(ffprobe_path:str, mkv_path: str) -> dict[str,str]|None: +def get_subtitles_tracks(ffprobe_path:str, mkv_path: str) -> dict[str,list[str]]|None: tracks={} with Popen([ffprobe_path, '-loglevel', 'quiet', '-select_streams', 's', '-show_entries', @@ -114,7 +118,7 @@ def get_subtitles_tracks(ffprobe_path:str, mkv_path: str) -> dict[str,str]|None: for stream in out['streams']: index = stream['index'] codec = stream['codec'] - lang = stream['tags']['language'] + lang:str = stream['tags']['language'] if codec == 'dvd_subtitle': if lang not in tracks: tracks[lang] = [index]