Extractor for defense.gouv.fr

master
Pierre Rudloff 2013-09-03 01:51:17 +02:00
parent b0446d6a33
commit 52afe99665
2 changed files with 38 additions and 0 deletions

View File

@ -21,6 +21,7 @@ from .dailymotion import DailymotionIE, DailymotionPlaylistIE
from .depositfiles import DepositFilesIE
from .dotsub import DotsubIE
from .dreisat import DreiSatIE
from .defense import DefenseGouvFrIE
from .ehow import EHowIE
from .eighttracks import EightTracksIE
from .escapist import EscapistIE

View File

@ -0,0 +1,37 @@
# coding: utf-8
'''Extractor for defense.gouv.fr'''
import re
import json
from .common import InfoExtractor
class DefenseGouvFrIE(InfoExtractor):
'''Extractor for defense.gouv.fr'''
_IE_NAME = 'defense.gouv.fr'
_VALID_URL = (r'http://.*?\.defense\.gouv\.fr/layout/set/'
'ligthboxvideo/base-de-medias/webtv/(.*)')
_TEST = {
u'url': (u'http://www.defense.gouv.fr/layout/set/ligthboxvideo/',
'base-de-medias/webtv/attaque-chimique-syrienne-du-21-aout-2013-1')
}
def _real_extract(self, url):
title = re.match(self._VALID_URL, url).group(1)
webpage = self._download_webpage(url, title)
video_id = self._search_regex(
r"flashvars.pvg_id=\"(\d+)\";",
webpage, 'ID')
json_url = ('http://static.videos.gouv.fr/brightcovehub/export/json/'
+ video_id)
info = self._download_webpage(json_url, title,
'Downloading JSON config')
video_url = json.loads(info)['renditions'][0]['url']
return {'id': video_id,
'ext': 'mp4',
'url': video_url,
'title': title,
}