Browse Source

[utils] Improve `parse_duration`

Authored by: bashonly
bashonly 1 year ago
parent
commit
af86873218
2 changed files with 3 additions and 1 deletions
  1. 2 0
      test/test_utils.py
  2. 1 1
      yt_dlp/utils/_utils.py

+ 2 - 0
test/test_utils.py

@@ -655,6 +655,8 @@ class TestUtil(unittest.TestCase):
         self.assertEqual(parse_duration('P0Y0M0DT0H4M20.880S'), 260.88)
         self.assertEqual(parse_duration('01:02:03:050'), 3723.05)
         self.assertEqual(parse_duration('103:050'), 103.05)
+        self.assertEqual(parse_duration('1HR 3MIN'), 3780)
+        self.assertEqual(parse_duration('2hrs 3mins'), 7380)
 
     def test_fix_xml_ampersands(self):
         self.assertEqual(

+ 1 - 1
yt_dlp/utils/_utils.py

@@ -2021,7 +2021,7 @@ def parse_duration(s):
                 )?
                 T)?
                 (?:
-                    (?P<hours>[0-9]+)\s*h(?:ours?)?,?\s*
+                    (?P<hours>[0-9]+)\s*h(?:(?:ou)?rs?)?,?\s*
                 )?
                 (?:
                     (?P<mins>[0-9]+)\s*m(?:in(?:ute)?s?)?,?\s*