Merge remote-tracking branch 'phaer/add-oe1-support'

This commit is contained in:
Philipp Hagemeister 2014-03-28 23:21:58 +01:00
commit e9a6fd6a68
2 changed files with 39 additions and 0 deletions

View File

@ -178,6 +178,7 @@ from .novamov import NovaMovIE
from .nowness import NownessIE
from .nowvideo import NowVideoIE
from .ntv import NTVIE
from .oe1 import OE1IE
from .ooyala import OoyalaIE
from .orf import ORFIE
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
}