2014-02-24 01:28:22 +08:00
# encoding: utf-8
from __future__ import unicode_literals
2014-01-31 01:26:50 +08:00
from . common import InfoExtractor
2016-04-25 23:49:12 +08:00
from . screenwavemedia import ScreenwaveMediaIE
2014-01-31 01:26:50 +08:00
from . . utils import (
unified_strdate ,
)
2014-02-24 01:28:22 +08:00
2014-01-31 01:26:50 +08:00
class NormalbootsIE ( InfoExtractor ) :
2016-03-21 23:36:32 +08:00
_VALID_URL = r ' https?://(?:www \ .)?normalboots \ .com/video/(?P<id>[0-9a-z-]*)/?$ '
2014-01-31 04:01:35 +08:00
_TEST = {
2014-02-24 01:28:22 +08:00
' url ' : ' http://normalboots.com/video/home-alone-games-jontron/ ' ,
' info_dict ' : {
' id ' : ' home-alone-games-jontron ' ,
' ext ' : ' mp4 ' ,
' title ' : ' Home Alone Games - JonTron - NormalBoots ' ,
' description ' : ' Jon is late for Christmas. Typical. Thanks to: Paul Ritchey for Co-Writing/Filming: http://www.youtube.com/user/ContinueShow Michael Azzi for Christmas Intro Animation: http://michafrar.tumblr.com/ Jerrod Waters for Christmas Intro Music: http://www.youtube.com/user/xXJerryTerryXx Casey Ormond for ‘ Tense Battle Theme’ : \xa0 http://www.youtube.com/Kiamet/ ' ,
' uploader ' : ' JonTron ' ,
' upload_date ' : ' 20140125 ' ,
2015-01-05 20:59:49 +08:00
} ,
' params ' : {
2016-04-25 23:49:12 +08:00
# m3u8 download
2015-01-05 20:59:49 +08:00
' skip_download ' : True ,
} ,
2016-04-25 23:49:12 +08:00
' add_ie ' : [ ' ScreenwaveMedia ' ] ,
2014-01-31 04:01:35 +08:00
}
2014-02-24 01:28:22 +08:00
2014-01-31 01:26:50 +08:00
def _real_extract ( self , url ) :
2015-02-03 06:04:39 +08:00
video_id = self . _match_id ( url )
2014-01-31 01:26:50 +08:00
webpage = self . _download_webpage ( url , video_id )
2014-02-24 01:28:22 +08:00
2015-02-03 06:04:39 +08:00
video_uploader = self . _html_search_regex (
r ' Posted \ sby \ s<a \ shref= " [A-Za-z0-9/]* " >(?P<uploader>[A-Za-z]*) \ s</a> ' ,
webpage , ' uploader ' , fatal = False )
video_upload_date = unified_strdate ( self . _html_search_regex (
r ' <span style= " text-transform:uppercase; font-size:inherit; " >[A-Za-z]+, (?P<date>.*)</span> ' ,
webpage , ' date ' , fatal = False ) )
2016-04-25 23:49:12 +08:00
screenwavemedia_url = self . _html_search_regex (
ScreenwaveMediaIE . EMBED_PATTERN , webpage , ' screenwave URL ' ,
group = ' url ' )
2014-02-24 01:28:22 +08:00
return {
2016-04-25 23:49:12 +08:00
' _type ' : ' url_transparent ' ,
2014-02-24 01:28:22 +08:00
' id ' : video_id ,
2016-04-25 23:49:12 +08:00
' url ' : screenwavemedia_url ,
' ie_key ' : ScreenwaveMediaIE . ie_key ( ) ,
2014-02-24 01:28:22 +08:00
' title ' : self . _og_search_title ( webpage ) ,
' description ' : self . _og_search_description ( webpage ) ,
' thumbnail ' : self . _og_search_thumbnail ( webpage ) ,
' uploader ' : video_uploader ,
' upload_date ' : video_upload_date ,
}