diff options
| author | Sergey M? <dstftw@gmail.com> | 2015-02-17 22:34:29 +0600 | 
|---|---|---|
| committer | Sergey M․ <dstftw@gmail.com> | 2015-02-17 22:35:27 +0600 | 
| commit | 0d93378887bd527b1df04e6138b4bc41382dd48f (patch) | |
| tree | 4f903f7de61d8772c04cdcd10f72374cf54730fc | |
| parent | 4069766c527d10b8e25b9262a3882101367deb3e (diff) | |
[videolecturesnet] Check http format URLs (Closes #4968)
| -rw-r--r-- | youtube_dl/extractor/videolecturesnet.py | 33 | 
1 files changed, 24 insertions, 9 deletions
diff --git a/youtube_dl/extractor/videolecturesnet.py b/youtube_dl/extractor/videolecturesnet.py index ebd2a3dca..1ec5298e9 100644 --- a/youtube_dl/extractor/videolecturesnet.py +++ b/youtube_dl/extractor/videolecturesnet.py @@ -49,15 +49,30 @@ class VideoLecturesNetIE(InfoExtractor):          thumbnail = (              None if thumbnail_el is None else thumbnail_el.attrib.get('src')) -        formats = [{ -            'url': v.attrib['src'], -            'width': int_or_none(v.attrib.get('width')), -            'height': int_or_none(v.attrib.get('height')), -            'filesize': int_or_none(v.attrib.get('size')), -            'tbr': int_or_none(v.attrib.get('systemBitrate')) / 1000.0, -            'ext': v.attrib.get('ext'), -        } for v in switch.findall('./video') -            if v.attrib.get('proto') == 'http'] +        formats = [] +        for v in switch.findall('./video'): +            proto = v.attrib.get('proto') +            if not proto in ['http', 'rtmp']: +                continue +            f = { +                'width': int_or_none(v.attrib.get('width')), +                'height': int_or_none(v.attrib.get('height')), +                'filesize': int_or_none(v.attrib.get('size')), +                'tbr': int_or_none(v.attrib.get('systemBitrate')) / 1000.0, +                'ext': v.attrib.get('ext'), +            } +            src = v.attrib['src'] +            if proto == 'http': +                if self._is_valid_url(src, video_id): +                    f['url'] = src +                    formats.append(f) +            elif proto == 'rtmp': +                f.update({ +                    'url': v.attrib['streamer'], +                    'play_path': src, +                }) +                formats.append(f) +        self._sort_formats(formats)          return {              'id': video_id,  | 
