From 52c0c1fe96f9296491864a2f94d0082610c2ca88 Mon Sep 17 00:00:00 2001 From: doe1080 <98906116+doe1080@users.noreply.github.com> Date: Sat, 2 Aug 2025 03:06:40 +0900 Subject: [PATCH] [utils] `parse_duration`: return `int` when decimal part is zero --- 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 a5471da4d..badda3d6e 100644 --- a/yt_dlp/utils/_utils.py +++ b/yt_dlp/utils/_utils.py @@ -2123,9 +2123,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): name, real_ext = os.path.splitext(filename)