2013-06-26 03:25:53 -07:00
import re
import base64
2013-06-26 09:22:26 -07:00
2013-06-26 03:25:53 -07:00
from . common import InfoExtractor
class WimpIE ( InfoExtractor ) :
_VALID_URL = r ' (?:http://)?(?:www \ .)?wimp \ .com/([^/]+)/ '
2013-06-27 11:46:46 -07:00
_TEST = {
u ' url ' : u ' http://www.wimp.com/deerfence/ ' ,
u ' file ' : u ' deerfence.flv ' ,
u ' md5 ' : u ' 8b215e2e0168c6081a1cf84b2846a2b5 ' ,
u ' info_dict ' : {
2013-12-07 22: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-27 11:46:46 -07:00
}
}
2013-06-26 03:25:53 -07: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-12-07 22:22:19 -08:00
title = self . _html_search_meta ( ' description ' , webpage , u ' video title ' )
2013-06-26 09:22:26 -07:00
googleString = self . _search_regex ( " googleCode = ' (.*?) ' " , webpage , ' file url ' )
2013-06-26 07:41:55 -07:00
googleString = base64 . b64decode ( googleString ) . decode ( ' ascii ' )
final_url = self . _search_regex ( ' " , " (.*?) " ' , googleString , ' final video url ' )
2013-06-26 05:26:59 -07:00
2013-12-07 22: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 ) ,
}