aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2015-08-09 19:43:42 +0600
committerSergey M․ <dstftw@gmail.com>2015-08-09 19:43:42 +0600
commit729accb48221bd72e40076939616792c1c6fc15f (patch)
tree365fd76a607c6d5c40ac77efa6117789a0840b07
parent942acef594428b5f5c7e0ed7860cb6d725d8f1e5 (diff)
downloadyoutube-dl-729accb48221bd72e40076939616792c1c6fc15f.tar.xz
[extractor/generic] Add support for xspf playlists
-rw-r--r--youtube_dl/extractor/generic.py7
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,