mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 14:45:14 +00:00 
			
		
		
		
	[eporner] Fix duration (Closes #4188)
This commit is contained in:
		| @@ -218,6 +218,7 @@ class TestUtil(unittest.TestCase): | |||||||
|         self.assertEqual(parse_duration('0m0s'), 0) |         self.assertEqual(parse_duration('0m0s'), 0) | ||||||
|         self.assertEqual(parse_duration('0s'), 0) |         self.assertEqual(parse_duration('0s'), 0) | ||||||
|         self.assertEqual(parse_duration('01:02:03.05'), 3723.05) |         self.assertEqual(parse_duration('01:02:03.05'), 3723.05) | ||||||
|  |         self.assertEqual(parse_duration('T30M38S'), 1838) | ||||||
|  |  | ||||||
|     def test_fix_xml_ampersands(self): |     def test_fix_xml_ampersands(self): | ||||||
|         self.assertEqual( |         self.assertEqual( | ||||||
|   | |||||||
| @@ -20,7 +20,7 @@ class EpornerIE(InfoExtractor): | |||||||
|             'display_id': 'Infamous-Tiffany-Teen-Strip-Tease-Video', |             'display_id': 'Infamous-Tiffany-Teen-Strip-Tease-Video', | ||||||
|             'ext': 'mp4', |             'ext': 'mp4', | ||||||
|             'title': 'Infamous Tiffany Teen Strip Tease Video', |             'title': 'Infamous Tiffany Teen Strip Tease Video', | ||||||
|             'duration': 194, |             'duration': 1838, | ||||||
|             'view_count': int, |             'view_count': int, | ||||||
|             'age_limit': 18, |             'age_limit': 18, | ||||||
|         } |         } | ||||||
| @@ -57,9 +57,7 @@ class EpornerIE(InfoExtractor): | |||||||
|             formats.append(fmt) |             formats.append(fmt) | ||||||
|         self._sort_formats(formats) |         self._sort_formats(formats) | ||||||
|  |  | ||||||
|         duration = parse_duration(self._search_regex( |         duration = parse_duration(self._html_search_meta('duration', webpage)) | ||||||
|             r'class="mbtim">([0-9:]+)</div>', webpage, 'duration', |  | ||||||
|             fatal=False)) |  | ||||||
|         view_count = str_to_int(self._search_regex( |         view_count = str_to_int(self._search_regex( | ||||||
|             r'id="cinemaviews">\s*([0-9,]+)\s*<small>views', |             r'id="cinemaviews">\s*([0-9,]+)\s*<small>views', | ||||||
|             webpage, 'view count', fatal=False)) |             webpage, 'view count', fatal=False)) | ||||||
|   | |||||||
| @@ -1115,7 +1115,12 @@ def parse_duration(s): | |||||||
|     s = s.strip() |     s = s.strip() | ||||||
|  |  | ||||||
|     m = re.match( |     m = re.match( | ||||||
|         r'(?i)(?:(?:(?P<hours>[0-9]+)\s*(?:[:h]|hours?)\s*)?(?P<mins>[0-9]+)\s*(?:[:m]|mins?|minutes?)\s*)?(?P<secs>[0-9]+)(?P<ms>\.[0-9]+)?\s*(?:s|secs?|seconds?)?$', s) |         r'''(?ix)T? | ||||||
|  |             (?: | ||||||
|  |                 (?:(?P<hours>[0-9]+)\s*(?:[:h]|hours?)\s*)? | ||||||
|  |                 (?P<mins>[0-9]+)\s*(?:[:m]|mins?|minutes?)\s* | ||||||
|  |             )? | ||||||
|  |             (?P<secs>[0-9]+)(?P<ms>\.[0-9]+)?\s*(?:s|secs?|seconds?)?$''', s) | ||||||
|     if not m: |     if not m: | ||||||
|         return None |         return None | ||||||
|     res = int(m.group('secs')) |     res = int(m.group('secs')) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Philipp Hagemeister
					Philipp Hagemeister