aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2015-08-09 19:21:25 +0600
committerSergey M․ <dstftw@gmail.com>2015-08-09 19:21:25 +0600
commitfb2f339fec20c35cb62c1da682e0dfd418faef81 (patch)
tree129516a99dbc143443c64c625e4b6fdc0c4a4e60
parent98044462b1035000a44b35a41f4f780b2e844f2e (diff)
downloadyoutube-dl-fb2f339fec20c35cb62c1da682e0dfd418faef81.zip
youtube-dl-fb2f339fec20c35cb62c1da682e0dfd418faef81.tar.gz
youtube-dl-fb2f339fec20c35cb62c1da682e0dfd418faef81.tar.bz2
[dhm] Use _extract_xspf_playlist
-rw-r--r--youtube_dl/extractor/dhm.py25
1 files changed, 7 insertions, 18 deletions
diff --git a/youtube_dl/extractor/dhm.py b/youtube_dl/extractor/dhm.py
index 3ed1f16..127eb04 100644
--- a/youtube_dl/extractor/dhm.py
+++ b/youtube_dl/extractor/dhm.py
@@ -34,24 +34,14 @@ class DHMIE(InfoExtractor):
}]
def _real_extract(self, url):
- video_id = self._match_id(url)
+ playlist_id = self._match_id(url)
- webpage = self._download_webpage(url, video_id)
+ webpage = self._download_webpage(url, playlist_id)
playlist_url = self._search_regex(
r"file\s*:\s*'([^']+)'", webpage, 'playlist url')
- playlist = self._download_xml(playlist_url, video_id)
-
- track = playlist.find(
- './{http://xspf.org/ns/0/}trackList/{http://xspf.org/ns/0/}track')
-
- video_url = xpath_text(
- track, './{http://xspf.org/ns/0/}location',
- 'video url', fatal=True)
- thumbnail = xpath_text(
- track, './{http://xspf.org/ns/0/}image',
- 'thumbnail')
+ entries = self._extract_xspf_playlist(playlist_url, playlist_id)
title = self._search_regex(
[r'dc:title="([^"]+)"', r'<title> &raquo;([^<]+)</title>'],
@@ -63,11 +53,10 @@ class DHMIE(InfoExtractor):
r'<em>Length\s*</em>\s*:\s*</strong>([^<]+)',
webpage, 'duration', default=None))
- return {
- 'id': video_id,
- 'url': video_url,
+ entries[0].update({
'title': title,
'description': description,
'duration': duration,
- 'thumbnail': thumbnail,
- }
+ })
+
+ return self.playlist_result(entries, playlist_id)