2013-06-26 18:25:53 +08:00
import re
import base64
2013-06-27 00:22:26 +08:00
2013-06-26 18:25:53 +08:00
from . common import InfoExtractor
class WimpIE ( InfoExtractor ) :
_VALID_URL = r ' (?:http://)?(?:www \ .)?wimp \ .com/([^/]+)/ '
2013-06-28 02:46:46 +08:00
_TEST = {
u ' url ' : u ' http://www.wimp.com/deerfence/ ' ,
u ' file ' : u ' deerfence.flv ' ,
u ' md5 ' : u ' 8b215e2e0168c6081a1cf84b2846a2b5 ' ,
u ' info_dict ' : {
2013-12-08 14:22:19 +08:00
u " title " : u " Watch Till End: Herd of deer jump over a fence. " ,
u " description " : u " These deer look as fluid as running water when they jump over this fence as a herd. This video is one that needs to be watched until the very end for the true majesty to be witnessed, but once it comes, it ' s sure to take your breath away. " ,
2013-06-28 02:46:46 +08:00
}
}
2013-06-26 18:25:53 +08:00
def _real_extract ( self , url ) :
mobj = re . match ( self . _VALID_URL , url )
video_id = mobj . group ( 1 )
webpage = self . _download_webpage ( url , video_id )
2013-06-27 00:22:26 +08:00
googleString = self . _search_regex ( " googleCode = ' (.*?) ' " , webpage , ' file url ' )
2013-06-26 22:41:55 +08:00
googleString = base64 . b64decode ( googleString ) . decode ( ' ascii ' )
2013-12-09 11:53:23 +08:00
final_url = self . _search_regex ( ' " , " (.*?) " ' , googleString , u ' final video url ' )
2013-06-26 20:26:59 +08:00
2013-12-08 14:22:19 +08:00
return {
' id ' : video_id ,
' url ' : final_url ,
' title ' : self . _og_search_title ( webpage ) ,
' thumbnail ' : self . _og_search_thumbnail ( webpage ) ,
' description ' : self . _og_search_description ( webpage ) ,
}