2016-07-02 23:49:03 +08:00
# coding: utf-8
2014-01-27 14:05:28 +08:00
from __future__ import unicode_literals
from . common import InfoExtractor
from . . utils import (
2016-07-02 23:49:03 +08:00
js_to_json ,
2016-07-05 00:59:03 +08:00
smuggle_url ,
2014-01-27 14:05:28 +08:00
)
class LA7IE ( InfoExtractor ) :
2016-07-02 23:49:03 +08:00
IE_NAME = ' la7.it '
_VALID_URL = r ''' (?x)(https?://)?(?:
( ? : www \. ) ? la7 \. it / ( [ ^ / ] + ) / ( ? : rivedila7 | video ) / |
tg \. la7 \. it / repliche - tgla7 \? id =
) ( ? P < id > . + ) '''
_TESTS = [ {
# 'src' is a plain URL
' url ' : ' http://www.la7.it/crozza/video/inccool8-02-10-2015-163722 ' ,
2016-07-05 00:59:03 +08:00
' md5 ' : ' 8b613ffc0c4bf9b9e377169fc19c214c ' ,
2016-07-02 23:49:03 +08:00
' info_dict ' : {
' id ' : ' inccool8-02-10-2015-163722 ' ,
' ext ' : ' mp4 ' ,
' title ' : ' Inc.Cool8 ' ,
' description ' : ' Benvenuti nell \' incredibile mondo della INC. COOL. 8. dove “INC.” sta per “Incorporated” “COOL” sta per “fashion” ed Eight sta per il gesto atletico ' ,
' thumbnail ' : ' re:^https?://.* ' ,
2016-07-05 00:59:03 +08:00
' uploader_id ' : ' kdla7pillole@iltrovatore.it ' ,
' timestamp ' : 1443814869 ,
' upload_date ' : ' 20151002 ' ,
2016-07-02 23:49:03 +08:00
} ,
} , {
# 'src' is a dictionary
' url ' : ' http://tg.la7.it/repliche-tgla7?id=189080 ' ,
' md5 ' : ' 6b0d8888d286e39870208dfeceaf456b ' ,
2014-01-27 14:05:28 +08:00
' info_dict ' : {
2016-07-02 23:49:03 +08:00
' id ' : ' 189080 ' ,
2015-02-01 22:03:03 +08:00
' ext ' : ' mp4 ' ,
2016-07-02 23:49:03 +08:00
' title ' : ' TG LA7 ' ,
2014-01-28 06:47:22 +08:00
} ,
2016-07-02 23:49:03 +08:00
} , {
' url ' : ' http://www.la7.it/omnibus/rivedila7/omnibus-news-02-07-2016-189077 ' ,
' only_matching ' : True ,
} ]
2014-01-27 14:05:28 +08:00
def _real_extract ( self , url ) :
2015-02-01 22:03:03 +08:00
video_id = self . _match_id ( url )
2016-07-02 23:49:03 +08:00
webpage = self . _download_webpage ( url , video_id )
player_data = self . _parse_json (
self . _search_regex ( r ' videoLa7 \ (( { [^;]+}) \ ); ' , webpage , ' player data ' ) ,
video_id , transform_source = js_to_json )
2014-01-27 14:05:28 +08:00
return {
2016-07-05 00:59:03 +08:00
' _type ' : ' url_transparent ' ,
' url ' : smuggle_url ( ' kaltura:103: %s ' % player_data [ ' vid ' ] , {
' service_url ' : ' http://kdam.iltrovatore.it ' ,
} ) ,
2014-01-27 14:05:28 +08:00
' id ' : video_id ,
2016-07-02 23:49:03 +08:00
' title ' : player_data [ ' title ' ] ,
' description ' : self . _og_search_description ( webpage , default = None ) ,
' thumbnail ' : player_data . get ( ' poster ' ) ,
2016-07-05 00:59:03 +08:00
' ie_key ' : ' Kaltura ' ,
2014-01-27 14:05:28 +08:00
}