diff options
author | Sergey M․ <dstftw@gmail.com> | 2015-08-09 19:43:42 +0600 |
---|---|---|
committer | Sergey M․ <dstftw@gmail.com> | 2015-08-09 19:43:42 +0600 |
commit | 729accb48221bd72e40076939616792c1c6fc15f (patch) | |
tree | 365fd76a607c6d5c40ac77efa6117789a0840b07 /youtube_dl/extractor/generic.py | |
parent | 942acef594428b5f5c7e0ed7860cb6d725d8f1e5 (diff) |
[extractor/generic] Add support for xspf playlists
Diffstat (limited to 'youtube_dl/extractor/generic.py')
-rw-r--r-- | youtube_dl/extractor/generic.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/youtube_dl/extractor/generic.py b/youtube_dl/extractor/generic.py index 901f77304..a382d6be4 100644 --- a/youtube_dl/extractor/generic.py +++ b/youtube_dl/extractor/generic.py @@ -1198,6 +1198,8 @@ class GenericIE(InfoExtractor): return self._extract_rss(url, video_id, doc) elif re.match(r'^(?:{[^}]+})?smil$', doc.tag): return self._parse_smil(doc, url, video_id) + elif doc.tag == '{http://xspf.org/ns/0/}playlist': + return self.playlist_result(self._parse_xspf(doc, video_id), video_id) except compat_xml_parse_error: pass @@ -1799,7 +1801,8 @@ class GenericIE(InfoExtractor): # here's a fun little line of code for you: video_id = os.path.splitext(video_id)[0] - if determine_ext(video_url) == 'smil': + ext = determine_ext(video_url) + if ext == 'smil': entries.append({ 'id': video_id, 'formats': self._extract_smil_formats(video_url, video_id), @@ -1807,6 +1810,8 @@ class GenericIE(InfoExtractor): 'title': video_title, 'age_limit': age_limit, }) + elif ext == 'xspf': + return self.playlist_result(self._extract_xspf_playlist(video_url, video_id), video_id) else: entries.append({ 'id': video_id, |