From e584a65f2a0feee0c6c363b3309e9ebd6065f6b4 Mon Sep 17 00:00:00 2001 From: doe1080 <98906116+doe1080@users.noreply.github.com> Date: Tue, 30 Jun 2026 12:28:49 +0900 Subject: [PATCH] [utils] `parse_duration`: Return `int` when appropriate (#13899) Authored by: doe1080 --- yt_dlp/utils/_utils.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/yt_dlp/utils/_utils.py b/yt_dlp/utils/_utils.py index edaf7a665f..ede0bc93a8 100644 --- a/yt_dlp/utils/_utils.py +++ b/yt_dlp/utils/_utils.py @@ -2145,9 +2145,11 @@ def parse_duration(s): if ms: ms = ms.replace(':', '.') - return sum(float(part or 0) * mult for part, mult in ( + total = sum(float(part or 0) * mult for part, mult in ( (days, 86400), (hours, 3600), (mins, 60), (secs, 1), (ms, 1))) + return int(total) if total.is_integer() else total + def _change_extension(prepend, filename, ext, expected_real_ext=None, *, _allowed_exts=()): name, real_ext = os.path.splitext(filename)