-# coding: utf-8
-from __future__ import unicode_literals
-
-import calendar
-import datetime
-
from .common import InfoExtractor
from ..utils import (
clean_html,
- extract_timezone,
+ determine_ext,
int_or_none,
parse_duration,
parse_resolution,
try_get,
+ unified_timestamp,
url_or_none,
)
'http://dinamics.ccma.cat/pvideo/media.jsp', media_id, query={
'media': media_type,
'idint': media_id,
+ 'format': 'dm',
})
formats = []
format_url = url_or_none(format_.get('file'))
if not format_url:
continue
+ if determine_ext(format_url) == 'mpd':
+ formats.extend(self._extract_mpd_formats(
+ format_url, media_id, mpd_id='dash', fatal=False))
+ continue
label = format_.get('label')
f = parse_resolution(label)
f.update({
'url': media_url,
'vcodec': 'none' if media_type == 'audio' else None,
})
- self._sort_formats(formats)
informacio = media['informacio']
title = informacio['titol']
duration = int_or_none(durada.get('milisegons'), 1000) or parse_duration(durada.get('text'))
tematica = try_get(informacio, lambda x: x['tematica']['text'])
- timestamp = None
data_utc = try_get(informacio, lambda x: x['data_emissio']['utc'])
- try:
- timezone, data_utc = extract_timezone(data_utc)
- timestamp = calendar.timegm((datetime.datetime.strptime(
- data_utc, '%Y-%d-%mT%H:%M:%S') - timezone).timetuple())
- except TypeError:
- pass
+ timestamp = unified_timestamp(data_utc)
subtitles = {}
subtitols = media.get('subtitols') or []