@ -1,3 +1,5 @@
from __future__ import unicode_literals
import re
import re
from .common import InfoExtractor
from .common import InfoExtractor
@ -6,13 +8,16 @@ from .common import InfoExtractor
class FunnyOrDieIE ( InfoExtractor ) :
class FunnyOrDieIE ( InfoExtractor ) :
_VALID_URL = r ' ^(?:https?://)?(?:www \ .)?funnyordie \ .com/videos/(?P<id>[0-9a-f]+)/.*$ '
_VALID_URL = r ' ^(?:https?://)?(?:www \ .)?funnyordie \ .com/videos/(?P<id>[0-9a-f]+)/.*$ '
_TEST = {
_TEST = {
u ' url ' : u ' http://www.funnyordie.com/videos/0732f586d7/heart-shaped-box-literal-video-version ' ,
u ' file ' : u ' 0732f586d7.mp4 ' ,
u ' md5 ' : u ' f647e9e90064b53b6e046e75d0241fbd ' ,
u ' info_dict ' : {
u " description " : u " Lyrics changed to match the video. Spoken cameo by Obscurus Lupa (from ThatGuyWithTheGlasses.com). Based on a concept by Dustin McLean (DustFilms.com). Performed, edited, and written by David A. Scott. " ,
u " title " : u " Heart-Shaped Box: Literal Video Version "
}
' url ' : ' http://www.funnyordie.com/videos/0732f586d7/heart-shaped-box-literal-video-version ' ,
' file ' : ' 0732f586d7.mp4 ' ,
' md5 ' : ' f647e9e90064b53b6e046e75d0241fbd ' ,
' info_dict ' : {
' description ' : ( ' Lyrics changed to match the video. Spoken cameo '
' by Obscurus Lupa (from ThatGuyWithTheGlasses.com). Based on a '
' concept by Dustin McLean (DustFilms.com). Performed, edited, '
' and written by David A. Scott. ' ) ,
' title ' : ' Heart-Shaped Box: Literal Video Version ' ,
} ,
}
}
def _real_extract ( self , url ) :
def _real_extract ( self , url ) :
@ -23,13 +28,12 @@ class FunnyOrDieIE(InfoExtractor):
video_url = self . _search_regex (
video_url = self . _search_regex (
[ r ' type= " video/mp4 " src= " (.*?) " ' , r ' src= " ([^>]*?) " type= \' video/mp4 \' ' ] ,
[ r ' type= " video/mp4 " src= " (.*?) " ' , r ' src= " ([^>]*?) " type= \' video/mp4 \' ' ] ,
webpage , u ' video URL ' , flags = re . DOTALL )
webpage , ' video URL ' , flags = re . DOTALL )
info = {
return {
' id ' : video_id ,
' id ' : video_id ,
' url ' : video_url ,
' url ' : video_url ,
' ext ' : ' mp4 ' ,
' ext ' : ' mp4 ' ,
' title ' : self . _og_search_title ( webpage ) ,
' title ' : self . _og_search_title ( webpage ) ,
' description ' : self . _og_search_description ( webpage ) ,
' description ' : self . _og_search_description ( webpage ) ,
}
}
return [ info ]