Extractor for defense.gouv.fr

pull/1363/head
Pierre Rudloff 2013-09-03 01:51:17 +02:00
rodzic b0446d6a33
commit 52afe99665
2 zmienionych plików z 38 dodań i 0 usunięć

Wyświetl plik

@ -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

Wyświetl plik

@ -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,
}