mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-30 22:25:19 +00:00 
			
		
		
		
	Improve parse_duration
This commit is contained in:
		| @@ -202,7 +202,16 @@ class TestUtil(unittest.TestCase): | ||||
|         self.assertEqual(parse_duration('1'), 1) | ||||
|         self.assertEqual(parse_duration('1337:12'), 80232) | ||||
|         self.assertEqual(parse_duration('9:12:43'), 33163) | ||||
|         self.assertEqual(parse_duration('12:00'), 720) | ||||
|         self.assertEqual(parse_duration('00:01:01'), 61) | ||||
|         self.assertEqual(parse_duration('x:y'), None) | ||||
|         self.assertEqual(parse_duration('3h11m53s'), 11513) | ||||
|         self.assertEqual(parse_duration('62m45s'), 3765) | ||||
|         self.assertEqual(parse_duration('6m59s'), 419) | ||||
|         self.assertEqual(parse_duration('49s'), 49) | ||||
|         self.assertEqual(parse_duration('0h0m0s'), 0) | ||||
|         self.assertEqual(parse_duration('0m0s'), 0) | ||||
|         self.assertEqual(parse_duration('0s'), 0) | ||||
|  | ||||
|     def test_fix_xml_ampersands(self): | ||||
|         self.assertEqual( | ||||
|   | ||||
| @@ -1144,7 +1144,7 @@ def parse_duration(s): | ||||
|         return None | ||||
|  | ||||
|     m = re.match( | ||||
|         r'(?:(?:(?P<hours>[0-9]+):)?(?P<mins>[0-9]+):)?(?P<secs>[0-9]+)$', s) | ||||
|         r'(?:(?:(?P<hours>[0-9]+)[:h])?(?P<mins>[0-9]+)[:m])?(?P<secs>[0-9]+)s?$', s) | ||||
|     if not m: | ||||
|         return None | ||||
|     res = int(m.group('secs')) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Sergey M.
					Sergey M.