diff options
| author | Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com> | 2013-09-18 23:04:54 +0200 | 
|---|---|---|
| committer | Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com> | 2013-09-18 23:05:56 +0200 | 
| commit | 6c36d8d6fb39b686ae5b475868de3523b6c76f76 (patch) | |
| tree | b5242327e4b1756679ccb72399e16b1c6222b735 | |
| parent | 71c82637e7add9b437bc6dbe03035d6d8aae82e4 (diff) | |
| parent | 0761d02b0baf20955bd6e4f53568a3bbaa75ab5c (diff) | |
Merge pull request #1438 from rzhxeo/fktv
Add support for http://fernsehkritik.tv
| -rw-r--r-- | youtube_dl/extractor/__init__.py | 4 | ||||
| -rw-r--r-- | youtube_dl/extractor/fktv.py | 58 | 
2 files changed, 62 insertions, 0 deletions
| diff --git a/youtube_dl/extractor/__init__.py b/youtube_dl/extractor/__init__.py index e1ec38cf2..726c9fa15 100644 --- a/youtube_dl/extractor/__init__.py +++ b/youtube_dl/extractor/__init__.py @@ -29,6 +29,10 @@ from .eighttracks import EightTracksIE  from .escapist import EscapistIE  from .exfm import ExfmIE  from .facebook import FacebookIE +from .fktv import ( +    FKTVIE, +    FKTVPosteckeIE, +)  from .flickr import FlickrIE  from .francetv import (      PluzzIE, diff --git a/youtube_dl/extractor/fktv.py b/youtube_dl/extractor/fktv.py new file mode 100644 index 000000000..239d9df38 --- /dev/null +++ b/youtube_dl/extractor/fktv.py @@ -0,0 +1,58 @@ +import re,random + +from .common import InfoExtractor +from ..utils import ( +    determine_ext, +) + +class FKTVIE(InfoExtractor): +    """Information Extractor for Fernsehkritik-TV""" +    _VALID_URL = r'(?:http://)?(?:www\.)?fernsehkritik.tv/folge-(?P<ep>[0-9]+)(?:/.*)?' + +    def _real_extract(self,url): +        mobj = re.match(self._VALID_URL, url) +        episode = int(mobj.group('ep')) +         +        server = random.randint(2,4) +        video_thumbnail = 'http://fernsehkritik.tv/images/magazin/folge%d.jpg' % episode +        videos = [] +        # Download all three parts +        for i in range(1,4): +            video_id = '%04d%d' % (episode, i) +            video_url = 'http://dl%d.fernsehkritik.tv/fernsehkritik%d%s.flv' % (server, episode, '' if i==1 else '-%d'%i) +            video_title = 'Fernsehkritik %d.%d' % (episode, i) +            videos.append({ +                'id':       video_id, +                'url':      video_url, +                'ext':      determine_ext(video_url), +                'title':    video_title, +                'thumbnail': video_thumbnail +            }) +        return videos + +class FKTVPosteckeIE(InfoExtractor): +    """Information Extractor for Fernsehkritik-TV Postecke""" +    _VALID_URL = r'(?:http://)?(?:www\.)?fernsehkritik.tv/inline-video/postecke.php\?(.*&)?ep=(?P<ep>[0-9]+)(&|$)' +    _TEST = { +        u'url': u'http://fernsehkritik.tv/inline-video/postecke.php?iframe=true&width=625&height=440&ep=120', +        u'file': u'0120.flv', +        u'md5': u'262f0adbac80317412f7e57b4808e5c4', +        u'info_dict': { +            u"title": u"Postecke 120" +        } +    } + +    def _real_extract(self,url): +        mobj = re.match(self._VALID_URL, url) +        episode = int(mobj.group('ep')) +         +        server = random.randint(2,4) +        video_id = '%04d' % episode +        video_url = 'http://dl%d.fernsehkritik.tv/postecke/postecke%d.flv' % (server, episode) +        video_title = 'Postecke %d' % episode +        return[{ +            'id':       video_id, +            'url':      video_url, +            'ext':      determine_ext(video_url), +            'title':    video_title, +        }] | 
