2014-01-22 09:01:23 +08:00
from __future__ import unicode_literals
2014-04-04 02:44:51 +08:00
from . youtube import YoutubeIE
2016-06-16 12:27:21 +08:00
from . jwplatform import JWPlatformBaseIE
2013-06-26 18:25:53 +08:00
2016-06-16 12:27:21 +08:00
class WimpIE ( JWPlatformBaseIE ) :
2016-03-21 23:36:32 +08:00
_VALID_URL = r ' https?://(?:www \ .)?wimp \ .com/(?P<id>[^/]+) '
2014-04-04 02:44:51 +08:00
_TESTS = [ {
2016-06-16 12:27:21 +08:00
' url ' : ' http://www.wimp.com/maru-is-exhausted/ ' ,
2015-09-07 19:49:59 +08:00
' md5 ' : ' ee21217ffd66d058e8b16be340b74883 ' ,
2014-01-22 09:01:23 +08:00
' info_dict ' : {
2016-06-16 12:27:21 +08:00
' id ' : ' maru-is-exhausted ' ,
2015-09-07 19:49:59 +08:00
' ext ' : ' mp4 ' ,
2014-02-21 18:57:19 +08:00
' title ' : ' Maru is exhausted. ' ,
' description ' : ' md5:57e099e857c0a4ea312542b684a869b8 ' ,
2013-06-28 02:46:46 +08:00
}
2014-04-04 02:44:51 +08:00
} , {
' url ' : ' http://www.wimp.com/clowncar/ ' ,
2016-06-16 12:27:21 +08:00
' md5 ' : ' 5c31ad862a90dc5b1f023956faec13fe ' ,
2014-04-04 02:44:51 +08:00
' info_dict ' : {
2016-06-16 12:27:21 +08:00
' id ' : ' cG4CEr2aiSg ' ,
2016-03-06 04:52:24 +08:00
' ext ' : ' webm ' ,
2016-06-16 12:27:21 +08:00
' title ' : ' Basset hound clown car...incredible! ' ,
' description ' : ' 5 of my Bassets crawled in this dog loo! www.bellinghambassets.com \n \n For licensing/usage please contact: licensing(at)jukinmediadotcom ' ,
' upload_date ' : ' 20140303 ' ,
' uploader ' : ' Gretchen Hoey ' ,
' uploader_id ' : ' gretchenandjeff1 ' ,
2014-04-04 02:44:51 +08:00
} ,
2016-06-16 12:27:21 +08:00
' add_ie ' : [ ' Youtube ' ] ,
2014-04-04 02:44:51 +08:00
} ]
2013-06-26 18:25:53 +08:00
def _real_extract ( self , url ) :
2015-09-07 19:49:59 +08:00
video_id = self . _match_id ( url )
2015-12-08 00:14:45 +08:00
2013-06-26 18:25:53 +08:00
webpage = self . _download_webpage ( url , video_id )
2015-12-08 00:14:45 +08:00
youtube_id = self . _search_regex (
r " videoId \ s*: \ s*[ \" ' ]([0-9A-Za-z_-] {11} )[ \" ' ] " ,
webpage , ' video URL ' , default = None )
if youtube_id :
2014-04-04 02:44:51 +08:00
return {
' _type ' : ' url ' ,
2015-12-08 00:14:45 +08:00
' url ' : youtube_id ,
2014-04-04 02:44:51 +08:00
' ie_key ' : YoutubeIE . ie_key ( ) ,
}
2013-06-26 20:26:59 +08:00
2016-06-16 12:27:21 +08:00
info_dict = self . _extract_jwplayer_data (
webpage , video_id , require_title = False )
2015-12-08 00:14:45 +08:00
2016-06-16 12:27:21 +08:00
info_dict . update ( {
2013-12-08 14:22:19 +08:00
' id ' : video_id ,
' title ' : self . _og_search_title ( webpage ) ,
' description ' : self . _og_search_description ( webpage ) ,
2016-06-16 12:27:21 +08:00
} )
return info_dict