2014-01-21 17:01:23 -08:00
from __future__ import unicode_literals
2017-02-16 07:42:36 -08:00
from . common import InfoExtractor
2014-04-03 11:44:51 -07:00
from . youtube import YoutubeIE
2013-06-26 03:25:53 -07:00
2017-02-16 07:42:36 -08:00
class WimpIE ( InfoExtractor ) :
2016-03-21 08:36:32 -07:00
_VALID_URL = r ' https?://(?:www \ .)?wimp \ .com/(?P<id>[^/]+) '
2014-04-03 11:44:51 -07:00
_TESTS = [ {
2016-06-15 21:27:21 -07:00
' url ' : ' http://www.wimp.com/maru-is-exhausted/ ' ,
2015-09-07 04:49:59 -07:00
' md5 ' : ' ee21217ffd66d058e8b16be340b74883 ' ,
2014-01-21 17:01:23 -08:00
' info_dict ' : {
2016-06-15 21:27:21 -07:00
' id ' : ' maru-is-exhausted ' ,
2015-09-07 04:49:59 -07:00
' ext ' : ' mp4 ' ,
2014-02-21 02:57:19 -08:00
' title ' : ' Maru is exhausted. ' ,
' description ' : ' md5:57e099e857c0a4ea312542b684a869b8 ' ,
2013-06-27 11:46:46 -07:00
}
2014-04-03 11:44:51 -07:00
} , {
' url ' : ' http://www.wimp.com/clowncar/ ' ,
2016-06-15 21:27:21 -07:00
' md5 ' : ' 5c31ad862a90dc5b1f023956faec13fe ' ,
2014-04-03 11:44:51 -07:00
' info_dict ' : {
2016-06-15 21:27:21 -07:00
' id ' : ' cG4CEr2aiSg ' ,
2016-03-05 12:52:24 -08:00
' ext ' : ' webm ' ,
2016-06-15 21:27:21 -07: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-03 11:44:51 -07:00
} ,
2016-06-15 21:27:21 -07:00
' add_ie ' : [ ' Youtube ' ] ,
2014-04-03 11:44:51 -07:00
} ]
2013-06-26 03:25:53 -07:00
def _real_extract ( self , url ) :
2015-09-07 04:49:59 -07:00
video_id = self . _match_id ( url )
2015-12-07 08:14:45 -08:00
2013-06-26 03:25:53 -07:00
webpage = self . _download_webpage ( url , video_id )
2015-12-07 08:14:45 -08:00
youtube_id = self . _search_regex (
2018-06-10 12:40:17 -07:00
( r " videoId \ s*: \ s*[ \" ' ]([0-9A-Za-z_-] {11} )[ \" ' ] " ,
r ' data-id=[ " \' ]([0-9A-Za-z_-] {11} ) ' ) ,
2015-12-07 08:14:45 -08:00
webpage , ' video URL ' , default = None )
if youtube_id :
2014-04-03 11:44:51 -07:00
return {
' _type ' : ' url ' ,
2015-12-07 08:14:45 -08:00
' url ' : youtube_id ,
2014-04-03 11:44:51 -07:00
' ie_key ' : YoutubeIE . ie_key ( ) ,
}
2013-06-26 05:26:59 -07:00
2016-06-15 21:27:21 -07:00
info_dict = self . _extract_jwplayer_data (
webpage , video_id , require_title = False )
2015-12-07 08:14:45 -08:00
2016-06-15 21:27:21 -07:00
info_dict . update ( {
2013-12-07 22:22:19 -08:00
' id ' : video_id ,
' title ' : self . _og_search_title ( webpage ) ,
' description ' : self . _og_search_description ( webpage ) ,
2016-06-15 21:27:21 -07:00
} )
return info_dict