[oe1] Add support for oe1.orf.at.

This commit is contained in:
phaer 2014-03-28 17:57:25 +02:00
parent cb3ac1c610
commit f0da3f1ef9
2 changed files with 39 additions and 0 deletions

View file

@ -177,6 +177,7 @@ from .normalboots import NormalbootsIE
from .novamov import NovaMovIE from .novamov import NovaMovIE
from .nowness import NownessIE from .nowness import NownessIE
from .nowvideo import NowVideoIE from .nowvideo import NowVideoIE
from .oe1 import OE1IE
from .ooyala import OoyalaIE from .ooyala import OoyalaIE
from .orf import ORFIE from .orf import ORFIE
from .parliamentliveuk import ParliamentLiveUKIE from .parliamentliveuk import ParliamentLiveUKIE

View file

@ -0,0 +1,38 @@
# coding: utf-8
from __future__ import unicode_literals
import calendar
import datetime
import json
import re
from .common import InfoExtractor
# audios on oe1.orf.at are only available for 7 days, so we can't
# add tests.
class OE1IE(InfoExtractor):
_VALID_URL = r'http://oe1\.orf\.at/programm/(?P<id>\d+)'
def _real_extract(self, url):
mobj = re.match(self._VALID_URL, url)
show_id = mobj.group('id')
data = json.loads(self._download_webpage(
'http://oe1.orf.at/programm/%s/konsole' % show_id,
show_id
))
timestamp = datetime.datetime.strptime('%s %s' % (
data['item']['day_label'],
data['item']['time']
), '%d.%m.%Y %H:%M')
unix_timestamp = calendar.timegm(timestamp.utctimetuple())
return {
'id': show_id,
'title': data['item']['title'],
'url': data['item']['url_stream'],
'ext': 'mp3',
'description': data['item']['info'],
'timestamp': unix_timestamp
}