diff options
| author | Philipp Hagemeister <phihag@phihag.de> | 2014-11-16 14:55:22 +0100 | 
|---|---|---|
| committer | Philipp Hagemeister <phihag@phihag.de> | 2014-11-16 14:55:22 +0100 | 
| commit | 6a68bb574acaf4df3f3f01d3330498cad5101773 (patch) | |
| tree | 70f89403f1134548ec187dbce123a781aff3e2c3 | |
| parent | 0cf166ad4fe7e26dcb2d07feb2339da3276fa81f (diff) | |
[eporner] Fix duration (Closes #4188)
| -rw-r--r-- | test/test_utils.py | 1 | ||||
| -rw-r--r-- | youtube_dl/extractor/eporner.py | 6 | ||||
| -rw-r--r-- | youtube_dl/utils.py | 7 | 
3 files changed, 9 insertions, 5 deletions
diff --git a/test/test_utils.py b/test/test_utils.py index edd95c3e3..0fa873147 100644 --- a/test/test_utils.py +++ b/test/test_utils.py @@ -218,6 +218,7 @@ class TestUtil(unittest.TestCase):          self.assertEqual(parse_duration('0m0s'), 0)          self.assertEqual(parse_duration('0s'), 0)          self.assertEqual(parse_duration('01:02:03.05'), 3723.05) +        self.assertEqual(parse_duration('T30M38S'), 1838)      def test_fix_xml_ampersands(self):          self.assertEqual( diff --git a/youtube_dl/extractor/eporner.py b/youtube_dl/extractor/eporner.py index bb231ecb1..4de8d4bc5 100644 --- a/youtube_dl/extractor/eporner.py +++ b/youtube_dl/extractor/eporner.py @@ -20,7 +20,7 @@ class EpornerIE(InfoExtractor):              'display_id': 'Infamous-Tiffany-Teen-Strip-Tease-Video',              'ext': 'mp4',              'title': 'Infamous Tiffany Teen Strip Tease Video', -            'duration': 194, +            'duration': 1838,              'view_count': int,              'age_limit': 18,          } @@ -57,9 +57,7 @@ class EpornerIE(InfoExtractor):              formats.append(fmt)          self._sort_formats(formats) -        duration = parse_duration(self._search_regex( -            r'class="mbtim">([0-9:]+)</div>', webpage, 'duration', -            fatal=False)) +        duration = parse_duration(self._html_search_meta('duration', webpage))          view_count = str_to_int(self._search_regex(              r'id="cinemaviews">\s*([0-9,]+)\s*<small>views',              webpage, 'view count', fatal=False)) diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index 67be4a9ae..58897231d 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -1115,7 +1115,12 @@ def parse_duration(s):      s = s.strip()      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:          return None      res = int(m.group('secs'))  | 
