@ -1,29 +1,33 @@
from __future__ import unicode_literals
from __future__ import unicode_literals
from . common import InfoExtractor
from . youtube import YoutubeIE
from . youtube import YoutubeIE
from . jwplatform import JWPlatformBaseIE
class WimpIE ( InfoExtractor ) :
class WimpIE ( JWPlatformBaseIE ) :
_VALID_URL = r ' https?://(?:www \ .)?wimp \ .com/(?P<id>[^/]+) '
_VALID_URL = r ' https?://(?:www \ .)?wimp \ .com/(?P<id>[^/]+) '
_TESTS = [ {
_TESTS = [ {
' url ' : ' http://www.wimp.com/maru exhausted/' ,
' url ' : ' http://www.wimp.com/maru -is- exhausted/' ,
' md5 ' : ' ee21217ffd66d058e8b16be340b74883 ' ,
' md5 ' : ' ee21217ffd66d058e8b16be340b74883 ' ,
' info_dict ' : {
' info_dict ' : {
' id ' : ' maru exhausted' ,
' id ' : ' maru -is- exhausted' ,
' ext ' : ' mp4 ' ,
' ext ' : ' mp4 ' ,
' title ' : ' Maru is exhausted. ' ,
' title ' : ' Maru is exhausted. ' ,
' description ' : ' md5:57e099e857c0a4ea312542b684a869b8 ' ,
' description ' : ' md5:57e099e857c0a4ea312542b684a869b8 ' ,
}
}
} , {
} , {
' url ' : ' http://www.wimp.com/clowncar/ ' ,
' url ' : ' http://www.wimp.com/clowncar/ ' ,
' md5 ' : ' 4e2986c793694b55b37cf92521d12bb4 ' ,
' md5 ' : ' 5c31ad862a90dc5b1f023956faec13fe ' ,
' info_dict ' : {
' info_dict ' : {
' id ' : ' c lowncar ' ,
' id ' : ' c G4CEr2aiSg ' ,
' ext ' : ' webm ' ,
' ext ' : ' webm ' ,
' title ' : ' It \' s like a clown car. ' ,
' title ' : ' Basset hound clown car...incredible! ' ,
' description ' : ' md5:0e56db1370a6e49c5c1d19124c0d2fb2 ' ,
' 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 ' ,
} ,
} ,
' add_ie ' : [ ' Youtube ' ] ,
} ]
} ]
def _real_extract ( self , url ) :
def _real_extract ( self , url ) :
@ -41,14 +45,13 @@ class WimpIE(InfoExtractor):
' ie_key ' : YoutubeIE . ie_key ( ) ,
' ie_key ' : YoutubeIE . ie_key ( ) ,
}
}
video_url = self . _search_regex (
info_dict = self . _extract_jwplayer_data (
r ' <video[^>]+> \ s*<source[^>]+src=([ " \' ])(?P<url>.+?) \ 1 ' ,
webpage , video_id , require_title = False )
webpage , ' video URL ' , group = ' url ' )
return {
info_dict . update ( {
' id ' : video_id ,
' id ' : video_id ,
' url ' : video_url ,
' title ' : self . _og_search_title ( webpage ) ,
' title ' : self . _og_search_title ( webpage ) ,
' thumbnail ' : self . _og_search_thumbnail ( webpage ) ,
' description ' : self . _og_search_description ( webpage ) ,
' description ' : self . _og_search_description ( webpage ) ,
}
} )
return info_dict