[faz] Modernize

This commit is contained in:
Philipp Hagemeister 2014-10-26 23:11:15 +01:00
parent 77ec444d9a
commit 526b276fd7

View File

@ -1,5 +1,5 @@
# encoding: utf-8 # encoding: utf-8
import re from __future__ import unicode_literals
from .common import InfoExtractor from .common import InfoExtractor
from ..utils import ( from ..utils import (
@ -8,42 +8,44 @@ from ..utils import (
class FazIE(InfoExtractor): class FazIE(InfoExtractor):
IE_NAME = u'faz.net' IE_NAME = 'faz.net'
_VALID_URL = r'https?://www\.faz\.net/multimedia/videos/.*?-(?P<id>\d+)\.html' _VALID_URL = r'https?://www\.faz\.net/multimedia/videos/.*?-(?P<id>\d+)\.html'
_TEST = { _TEST = {
u'url': u'http://www.faz.net/multimedia/videos/stockholm-chemie-nobelpreis-fuer-drei-amerikanische-forscher-12610585.html', 'url': 'http://www.faz.net/multimedia/videos/stockholm-chemie-nobelpreis-fuer-drei-amerikanische-forscher-12610585.html',
u'file': u'12610585.mp4', 'info_dict': {
u'info_dict': { 'id': '12610585',
u'title': u'Stockholm: Chemie-Nobelpreis für drei amerikanische Forscher', 'ext': 'mp4',
u'description': u'md5:1453fbf9a0d041d985a47306192ea253', 'title': 'Stockholm: Chemie-Nobelpreis für drei amerikanische Forscher',
'description': 'md5:1453fbf9a0d041d985a47306192ea253',
}, },
} }
def _real_extract(self, url): def _real_extract(self, url):
mobj = re.match(self._VALID_URL, url) video_id = self._match_id(url)
video_id = mobj.group('id')
self.to_screen(video_id)
webpage = self._download_webpage(url, video_id) webpage = self._download_webpage(url, video_id)
config_xml_url = self._search_regex(r'writeFLV\(\'(.+?)\',', webpage, config_xml_url = self._search_regex(
u'config xml url') r'writeFLV\(\'(.+?)\',', webpage, 'config xml url')
config = self._download_xml(config_xml_url, video_id, config = self._download_xml(
u'Downloading config xml') config_xml_url, video_id, 'Downloading config xml')
encodings = config.find('ENCODINGS') encodings = config.find('ENCODINGS')
formats = [] formats = []
for code in ['LOW', 'HIGH', 'HQ']: for pref, code in enumerate(['LOW', 'HIGH', 'HQ']):
encoding = encodings.find(code) encoding = encodings.find(code)
if encoding is None: if encoding is None:
continue continue
encoding_url = encoding.find('FILENAME').text encoding_url = encoding.find('FILENAME').text
formats.append({ formats.append({
'url': encoding_url, 'url': encoding_url,
'ext': determine_ext(encoding_url),
'format_id': code.lower(), 'format_id': code.lower(),
'quality': pref,
}) })
self._sort_formats(formats)
descr = self._html_search_regex(r'<p class="Content Copy">(.*?)</p>', webpage, u'description') descr = self._html_search_regex(
r'<p class="Content Copy">(.*?)</p>', webpage, 'description', fatal=False)
return { return {
'id': video_id, 'id': video_id,
'title': self._og_search_title(webpage), 'title': self._og_search_title(webpage),