mirror of
				https://github.com/ytdl-org/youtube-dl.git
				synced 2025-10-29 09:26:20 -07:00 
			
		
		
		
	[utils] Add support for zero years and months in parse_duration
This commit is contained in:
		| @@ -540,6 +540,7 @@ class TestUtil(unittest.TestCase): | |||||||
|         self.assertEqual(parse_duration('87 Min.'), 5220) |         self.assertEqual(parse_duration('87 Min.'), 5220) | ||||||
|         self.assertEqual(parse_duration('PT1H0.040S'), 3600.04) |         self.assertEqual(parse_duration('PT1H0.040S'), 3600.04) | ||||||
|         self.assertEqual(parse_duration('PT00H03M30SZ'), 210) |         self.assertEqual(parse_duration('PT00H03M30SZ'), 210) | ||||||
|  |         self.assertEqual(parse_duration('P0Y0M0DT0H4M20.880S'), 260.88) | ||||||
|  |  | ||||||
|     def test_fix_xml_ampersands(self): |     def test_fix_xml_ampersands(self): | ||||||
|         self.assertEqual( |         self.assertEqual( | ||||||
|   | |||||||
| @@ -1835,10 +1835,20 @@ def parse_duration(s): | |||||||
|         days, hours, mins, secs, ms = m.groups() |         days, hours, mins, secs, ms = m.groups() | ||||||
|     else: |     else: | ||||||
|         m = re.match( |         m = re.match( | ||||||
|             r'''(?ix)(?:P?T)? |             r'''(?ix)(?:P? | ||||||
|  |                 (?: | ||||||
|  |                     [0-9]+\s*y(?:ears?)?\s* | ||||||
|  |                 )? | ||||||
|  |                 (?: | ||||||
|  |                     [0-9]+\s*m(?:onths?)?\s* | ||||||
|  |                 )? | ||||||
|  |                 (?: | ||||||
|  |                     [0-9]+\s*w(?:eeks?)?\s* | ||||||
|  |                 )? | ||||||
|                 (?: |                 (?: | ||||||
|                     (?P<days>[0-9]+)\s*d(?:ays?)?\s* |                     (?P<days>[0-9]+)\s*d(?:ays?)?\s* | ||||||
|                 )? |                 )? | ||||||
|  |                 T)? | ||||||
|                 (?: |                 (?: | ||||||
|                     (?P<hours>[0-9]+)\s*h(?:ours?)?\s* |                     (?P<hours>[0-9]+)\s*h(?:ours?)?\s* | ||||||
|                 )? |                 )? | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user