diff options
Diffstat (limited to 'youtube_dl')
| -rw-r--r-- | youtube_dl/extractor/tvplay.py | 20 | 
1 files changed, 18 insertions, 2 deletions
diff --git a/youtube_dl/extractor/tvplay.py b/youtube_dl/extractor/tvplay.py index 918f8f8bc..0c072a6ae 100644 --- a/youtube_dl/extractor/tvplay.py +++ b/youtube_dl/extractor/tvplay.py @@ -4,7 +4,10 @@ from __future__ import unicode_literals  import re  from .common import InfoExtractor -from ..compat import compat_str +from ..compat import ( +    compat_str, +    compat_urlparse, +)  from ..utils import (      parse_iso8601,      qualities, @@ -226,7 +229,8 @@ class TVPlayIE(InfoExtractor):                      'ext': ext,                  }                  if video_url.startswith('rtmp'): -                    m = re.search(r'^(?P<url>rtmp://[^/]+/(?P<app>[^/]+))/(?P<playpath>.+)$', video_url) +                    m = re.search( +                        r'^(?P<url>rtmp://[^/]+/(?P<app>[^/]+))/(?P<playpath>.+)$', video_url)                      if not m:                          continue                      fmt.update({ @@ -242,6 +246,17 @@ class TVPlayIE(InfoExtractor):                  formats.append(fmt)          self._sort_formats(formats) +        # TODO: webvtt in m3u8 +        subtitles = {} +        sami_path = video.get('sami_path') +        if sami_path: +            lang = self._search_regex( +                r'_([a-z]{2})\.xml', sami_path, 'lang', +                default=compat_urlparse.urlparse(url).netloc.rsplit('.', 1)[-1]) +            subtitles[lang] = [{ +                'url': sami_path, +            }] +          return {              'id': video_id,              'title': title, @@ -251,4 +266,5 @@ class TVPlayIE(InfoExtractor):              'view_count': int_or_none(video.get('views', {}).get('total')),              'age_limit': int_or_none(video.get('age_limit', 0)),              'formats': formats, +            'subtitles': subtitles,          }  | 
