mirror of
https://github.com/ytdl-org/youtube-dl.git
synced 2024-11-22 10:11:52 +00:00
[eporner] Fix duration (Closes #4188)
This commit is contained in:
parent
0cf166ad4f
commit
6a68bb574a
3 changed files with 9 additions and 5 deletions
|
@ -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'))
|
||||||
|
|
Loading…
Reference in a new issue