comediansincarsgettingcoffee.com support

This commit is contained in:
felix 2014-12-12 19:58:44 +01:00
parent c3f3b29b92
commit dc65a213fd
2 changed files with 47 additions and 0 deletions

View File

@ -48,6 +48,7 @@ from .canalplus import CanalplusIE
from .canalc2 import Canalc2IE
from .cbs import CBSIE
from .cbsnews import CBSNewsIE
from .ccc import ComCarCoffIE
from .ceskatelevize import CeskaTelevizeIE
from .channel9 import Channel9IE
from .chilloutzone import ChilloutzoneIE

View File

@ -0,0 +1,46 @@
# encoding: utf-8
import re
import json
from .common import InfoExtractor
from ..utils import (
unified_strdate,
)
class ComCarCoffIE(InfoExtractor):
_VALID_URL = r'https?://(?:www\.)?comediansincarsgettingcoffee\.com/(?P<id>[a-z0-9\-]+)/?'
_TESTS = [
{
'url': 'http://comediansincarsgettingcoffee.com/miranda-sings-happy-thanksgiving-miranda/',
'info_dict': {
'id': 'miranda-sings-happy-thanksgiving-miranda',
'upload_date': '20141127',
'title': 'Happy Thanksgiving Miranda',
'description': 'Jerry Seinfeld and his special guest Miranda Sings cruise around town in search of coffee, complaining and apologizing along the way.',
'thumbnail': 'http://ccc.crackle.com/images/s5e4_thumb.jpg',
},
}
]
def _real_extract(self, url):
display_id = self._match_id(url)
webpage = self._download_webpage(url, display_id)
full_data = json.loads(self._search_regex(
r'<script type="application/json" id="videoData">(?P<json>.+?)</script>',
webpage, 'json'))
video_id = full_data['activeVideo']['video']
video_data = full_data['videos'][video_id]
return {
'id': video_id,
'display_id': display_id,
'title': video_data['title'],
'description': video_data['description'],
# XXX: the original datum is a full ISO timestamp... why convert it to a worse format?
'upload_date': unified_strdate(video_data['pubDate']),
'thumbnail': video_data['images']['thumb'],
# XXX: what do we do with video_data['images']['poster']?
'formats': self._extract_m3u8_formats(video_data['mediaUrl'], video_id),
}