From 6aeba407db84a636fc2522b4f2344eac9e0c1fdb Mon Sep 17 00:00:00 2001
From: remitamine
Date: Fri, 25 Sep 2015 10:52:48 +0100
Subject: [PATCH] [jukebox] remove extractor and handle it using generic
extractor
---
youtube_dl/extractor/__init__.py | 1 -
youtube_dl/extractor/generic.py | 21 +++++++
youtube_dl/extractor/jukebox.py | 59 -------------------
youtube_dl/extractor/ultimedia.py | 97 +++++++++++++------------------
4 files changed, 60 insertions(+), 118 deletions(-)
delete mode 100644 youtube_dl/extractor/jukebox.py
diff --git a/youtube_dl/extractor/__init__.py b/youtube_dl/extractor/__init__.py
index 7272859db..1813c7e1b 100644
--- a/youtube_dl/extractor/__init__.py
+++ b/youtube_dl/extractor/__init__.py
@@ -262,7 +262,6 @@ from .izlesene import IzleseneIE
from .jadorecettepub import JadoreCettePubIE
from .jeuxvideo import JeuxVideoIE
from .jove import JoveIE
-from .jukebox import JukeboxIE
from .jpopsukitv import JpopsukiIE
from .kaltura import KalturaIE
from .kanalplay import KanalPlayIE
diff --git a/youtube_dl/extractor/generic.py b/youtube_dl/extractor/generic.py
index 8881a8a23..4d1f75e63 100644
--- a/youtube_dl/extractor/generic.py
+++ b/youtube_dl/extractor/generic.py
@@ -50,6 +50,7 @@ from .dailymotion import DailymotionCloudIE
from .onionstudios import OnionStudiosIE
from .snagfilms import SnagFilmsEmbedIE
from .screenwavemedia import ScreenwaveMediaIE
+from .ultimedia import UltimediaIE
class GenericIE(InfoExtractor):
@@ -1029,6 +1030,21 @@ class GenericIE(InfoExtractor):
'ext': 'mp4',
'title': 'cinemasnob',
},
+ },
+ # Ultimedia embed
+ {
+ 'url': 'http://www.jukebox.es/kosheen/videoclip,pride,r303r.html',
+ 'md5': '25551df6e7c7ab8096ceeeae048c5f64',
+ 'info_dict': {
+ 'id': 'r303r',
+ 'ext': 'mp4',
+ 'title': 'Kosheen - Pride (live)',
+ 'thumbnail': 're:^https?://.*\.jpg',
+ 'duration': 293,
+ 'upload_date': '20081103',
+ 'timestamp': 1225733392,
+ 'uploader_id': '33m03',
+ },
}
]
@@ -1751,6 +1767,11 @@ class GenericIE(InfoExtractor):
if mobj is not None:
return self.url_result(unescapeHTML(mobj.group('url')), 'ScreenwaveMedia')
+ # Look for Ulltimedia embeds
+ ultimedia_url = UltimediaIE._extract_url(webpage)
+ if ultimedia_url:
+ return self.url_result(self._proto_relative_url(ultimedia_url), 'Ultimedia')
+
# Look for AdobeTVVideo embeds
mobj = re.search(
r'
', webpage,
- 'description', fatal=False))
+ self._sort_formats(formats)
- upload_date = unified_strdate(self._search_regex(
- r'Ajouté le\s*([^<]+)', webpage,
- 'upload date', fatal=False))
+ title = deliver_info['title']
+ thumbnail = jwconf.get('image')
+ duration = int_or_none(deliver_info.get('duration'))
+ timestamp = int_or_none(deliver_info.get('release_time'))
+ uploader_id = deliver_info.get('owner_id')
return {
'id': video_id,
'title': title,
- 'description': description,
'thumbnail': thumbnail,
- 'upload_date': upload_date,
+ 'duration': duration,
+ 'timestamp': timestamp,
+ 'uploader_id': uploader_id,
'formats': formats,
}